home *** CD-ROM | disk | FTP | other *** search
/ Windows Game Programming for Dummies (2nd Edition) / WinGamProgFD.iso / mac / DirectX SDK / DXSDK / include / control.h < prev    next >
C/C++ Source or Header  |  2001-10-08  |  178KB  |  5,545 lines

  1.  
  2. #pragma warning( disable: 4049 )  /* more than 64k source lines */
  3.  
  4. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  5.  
  6.  
  7.  /* File created by MIDL compiler version 6.00.0347 */
  8. /* Compiler settings for control.odl:
  9.     Oicf, W0, Zp8, env=Win32 (32b run)
  10.     protocol : dce , ms_ext, c_ext, robust
  11.     error checks: allocation ref bounds_check enum stub_data 
  12.     VC __declspec() decoration level: 
  13.          __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  14.          DECLSPEC_UUID(), MIDL_INTERFACE()
  15. */
  16. //@@MIDL_FILE_HEADING(  )
  17.  
  18.  
  19. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  20. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  21. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  22. #endif
  23.  
  24. #include "rpc.h"
  25. #include "rpcndr.h"
  26.  
  27. #ifndef __RPCNDR_H_VERSION__
  28. #error this stub requires an updated version of <rpcndr.h>
  29. #endif // __RPCNDR_H_VERSION__
  30.  
  31.  
  32. #ifndef __control_h__
  33. #define __control_h__
  34.  
  35. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  36. #pragma once
  37. #endif
  38.  
  39. /* Forward Declarations */ 
  40.  
  41. #ifndef __IAMCollection_FWD_DEFINED__
  42. #define __IAMCollection_FWD_DEFINED__
  43. typedef interface IAMCollection IAMCollection;
  44. #endif     /* __IAMCollection_FWD_DEFINED__ */
  45.  
  46.  
  47. #ifndef __IMediaControl_FWD_DEFINED__
  48. #define __IMediaControl_FWD_DEFINED__
  49. typedef interface IMediaControl IMediaControl;
  50. #endif     /* __IMediaControl_FWD_DEFINED__ */
  51.  
  52.  
  53. #ifndef __IMediaEvent_FWD_DEFINED__
  54. #define __IMediaEvent_FWD_DEFINED__
  55. typedef interface IMediaEvent IMediaEvent;
  56. #endif     /* __IMediaEvent_FWD_DEFINED__ */
  57.  
  58.  
  59. #ifndef __IMediaEventEx_FWD_DEFINED__
  60. #define __IMediaEventEx_FWD_DEFINED__
  61. typedef interface IMediaEventEx IMediaEventEx;
  62. #endif     /* __IMediaEventEx_FWD_DEFINED__ */
  63.  
  64.  
  65. #ifndef __IMediaPosition_FWD_DEFINED__
  66. #define __IMediaPosition_FWD_DEFINED__
  67. typedef interface IMediaPosition IMediaPosition;
  68. #endif     /* __IMediaPosition_FWD_DEFINED__ */
  69.  
  70.  
  71. #ifndef __IBasicAudio_FWD_DEFINED__
  72. #define __IBasicAudio_FWD_DEFINED__
  73. typedef interface IBasicAudio IBasicAudio;
  74. #endif     /* __IBasicAudio_FWD_DEFINED__ */
  75.  
  76.  
  77. #ifndef __IVideoWindow_FWD_DEFINED__
  78. #define __IVideoWindow_FWD_DEFINED__
  79. typedef interface IVideoWindow IVideoWindow;
  80. #endif     /* __IVideoWindow_FWD_DEFINED__ */
  81.  
  82.  
  83. #ifndef __IBasicVideo_FWD_DEFINED__
  84. #define __IBasicVideo_FWD_DEFINED__
  85. typedef interface IBasicVideo IBasicVideo;
  86. #endif     /* __IBasicVideo_FWD_DEFINED__ */
  87.  
  88.  
  89. #ifndef __IBasicVideo2_FWD_DEFINED__
  90. #define __IBasicVideo2_FWD_DEFINED__
  91. typedef interface IBasicVideo2 IBasicVideo2;
  92. #endif     /* __IBasicVideo2_FWD_DEFINED__ */
  93.  
  94.  
  95. #ifndef __IDeferredCommand_FWD_DEFINED__
  96. #define __IDeferredCommand_FWD_DEFINED__
  97. typedef interface IDeferredCommand IDeferredCommand;
  98. #endif     /* __IDeferredCommand_FWD_DEFINED__ */
  99.  
  100.  
  101. #ifndef __IQueueCommand_FWD_DEFINED__
  102. #define __IQueueCommand_FWD_DEFINED__
  103. typedef interface IQueueCommand IQueueCommand;
  104. #endif     /* __IQueueCommand_FWD_DEFINED__ */
  105.  
  106.  
  107. #ifndef __FilgraphManager_FWD_DEFINED__
  108. #define __FilgraphManager_FWD_DEFINED__
  109.  
  110. #ifdef __cplusplus
  111. typedef class FilgraphManager FilgraphManager;
  112. #else
  113. typedef struct FilgraphManager FilgraphManager;
  114. #endif /* __cplusplus */
  115.  
  116. #endif     /* __FilgraphManager_FWD_DEFINED__ */
  117.  
  118.  
  119. #ifndef __IFilterInfo_FWD_DEFINED__
  120. #define __IFilterInfo_FWD_DEFINED__
  121. typedef interface IFilterInfo IFilterInfo;
  122. #endif     /* __IFilterInfo_FWD_DEFINED__ */
  123.  
  124.  
  125. #ifndef __IRegFilterInfo_FWD_DEFINED__
  126. #define __IRegFilterInfo_FWD_DEFINED__
  127. typedef interface IRegFilterInfo IRegFilterInfo;
  128. #endif     /* __IRegFilterInfo_FWD_DEFINED__ */
  129.  
  130.  
  131. #ifndef __IMediaTypeInfo_FWD_DEFINED__
  132. #define __IMediaTypeInfo_FWD_DEFINED__
  133. typedef interface IMediaTypeInfo IMediaTypeInfo;
  134. #endif     /* __IMediaTypeInfo_FWD_DEFINED__ */
  135.  
  136.  
  137. #ifndef __IPinInfo_FWD_DEFINED__
  138. #define __IPinInfo_FWD_DEFINED__
  139. typedef interface IPinInfo IPinInfo;
  140. #endif     /* __IPinInfo_FWD_DEFINED__ */
  141.  
  142.  
  143. #ifndef __IAMStats_FWD_DEFINED__
  144. #define __IAMStats_FWD_DEFINED__
  145. typedef interface IAMStats IAMStats;
  146. #endif     /* __IAMStats_FWD_DEFINED__ */
  147.  
  148.  
  149. #ifdef __cplusplus
  150. extern "C"{
  151. #endif 
  152.  
  153. void * __RPC_USER MIDL_user_allocate(size_t);
  154. void __RPC_USER MIDL_user_free( void * ); 
  155.  
  156.  
  157. #ifndef __QuartzTypeLib_LIBRARY_DEFINED__
  158. #define __QuartzTypeLib_LIBRARY_DEFINED__
  159.  
  160. /* library QuartzTypeLib */
  161. /* [version][lcid][helpstring][uuid] */ 
  162.  
  163. typedef double REFTIME;
  164.  
  165. typedef LONG_PTR OAEVENT;
  166.  
  167. typedef LONG_PTR OAHWND;
  168.  
  169. typedef long OAFilterState;
  170.  
  171.  
  172. DEFINE_GUID(LIBID_QuartzTypeLib,0x56a868b0,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
  173.  
  174. #ifndef __IAMCollection_INTERFACE_DEFINED__
  175. #define __IAMCollection_INTERFACE_DEFINED__
  176.  
  177. /* interface IAMCollection */
  178. /* [object][dual][oleautomation][helpstring][uuid] */ 
  179.  
  180.  
  181. DEFINE_GUID(IID_IAMCollection,0x56a868b9,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
  182.  
  183. #if defined(__cplusplus) && !defined(CINTERFACE)
  184.     
  185.     MIDL_INTERFACE("56a868b9-0ad4-11ce-b03a-0020af0ba770")
  186.     IAMCollection : public IDispatch
  187.     {
  188.     public:
  189.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
  190.             /* [retval][out] */ LONG *plCount) = 0;
  191.         
  192.         virtual HRESULT STDMETHODCALLTYPE Item( 
  193.             /* [in] */ long lItem,
  194.             /* [out] */ IUnknown **ppUnk) = 0;
  195.         
  196.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
  197.             /* [retval][out] */ IUnknown **ppUnk) = 0;
  198.         
  199.     };
  200.     
  201. #else     /* C style interface */
  202.  
  203.     typedef struct IAMCollectionVtbl
  204.     {
  205.         BEGIN_INTERFACE
  206.         
  207.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  208.             IAMCollection * This,
  209.             /* [in] */ REFIID riid,
  210.             /* [iid_is][out] */ void **ppvObject);
  211.         
  212.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  213.             IAMCollection * This);
  214.         
  215.         ULONG ( STDMETHODCALLTYPE *Release )( 
  216.             IAMCollection * This);
  217.         
  218.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  219.             IAMCollection * This,
  220.             /* [out] */ UINT *pctinfo);
  221.         
  222.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  223.             IAMCollection * This,
  224.             /* [in] */ UINT iTInfo,
  225.             /* [in] */ LCID lcid,
  226.             /* [out] */ ITypeInfo **ppTInfo);
  227.         
  228.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  229.             IAMCollection * This,
  230.             /* [in] */ REFIID riid,
  231.             /* [size_is][in] */ LPOLESTR *rgszNames,
  232.             /* [in] */ UINT cNames,
  233.             /* [in] */ LCID lcid,
  234.             /* [size_is][out] */ DISPID *rgDispId);
  235.         
  236.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  237.             IAMCollection * This,
  238.             /* [in] */ DISPID dispIdMember,
  239.             /* [in] */ REFIID riid,
  240.             /* [in] */ LCID lcid,
  241.             /* [in] */ WORD wFlags,
  242.             /* [out][in] */ DISPPARAMS *pDispParams,
  243.             /* [out] */ VARIANT *pVarResult,
  244.             /* [out] */ EXCEPINFO *pExcepInfo,
  245.             /* [out] */ UINT *puArgErr);
  246.         
  247.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
  248.             IAMCollection * This,
  249.             /* [retval][out] */ LONG *plCount);
  250.         
  251.         HRESULT ( STDMETHODCALLTYPE *Item )( 
  252.             IAMCollection * This,
  253.             /* [in] */ long lItem,
  254.             /* [out] */ IUnknown **ppUnk);
  255.         
  256.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
  257.             IAMCollection * This,
  258.             /* [retval][out] */ IUnknown **ppUnk);
  259.         
  260.         END_INTERFACE
  261.     } IAMCollectionVtbl;
  262.  
  263.     interface IAMCollection
  264.     {
  265.         CONST_VTBL struct IAMCollectionVtbl *lpVtbl;
  266.     };
  267.  
  268.     
  269.  
  270. #ifdef COBJMACROS
  271.  
  272.  
  273. #define IAMCollection_QueryInterface(This,riid,ppvObject)    \
  274.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  275.  
  276. #define IAMCollection_AddRef(This)    \
  277.     (This)->lpVtbl -> AddRef(This)
  278.  
  279. #define IAMCollection_Release(This)    \
  280.     (This)->lpVtbl -> Release(This)
  281.  
  282.  
  283. #define IAMCollection_GetTypeInfoCount(This,pctinfo)    \
  284.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  285.  
  286. #define IAMCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  287.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  288.  
  289. #define IAMCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  290.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  291.  
  292. #define IAMCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  293.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  294.  
  295.  
  296. #define IAMCollection_get_Count(This,plCount)    \
  297.     (This)->lpVtbl -> get_Count(This,plCount)
  298.  
  299. #define IAMCollection_Item(This,lItem,ppUnk)    \
  300.     (This)->lpVtbl -> Item(This,lItem,ppUnk)
  301.  
  302. #define IAMCollection_get__NewEnum(This,ppUnk)    \
  303.     (This)->lpVtbl -> get__NewEnum(This,ppUnk)
  304.  
  305. #endif /* COBJMACROS */
  306.  
  307.  
  308. #endif     /* C style interface */
  309.  
  310.  
  311.  
  312. /* [propget] */ HRESULT STDMETHODCALLTYPE IAMCollection_get_Count_Proxy( 
  313.     IAMCollection * This,
  314.     /* [retval][out] */ LONG *plCount);
  315.  
  316.  
  317. void __RPC_STUB IAMCollection_get_Count_Stub(
  318.     IRpcStubBuffer *This,
  319.     IRpcChannelBuffer *_pRpcChannelBuffer,
  320.     PRPC_MESSAGE _pRpcMessage,
  321.     DWORD *_pdwStubPhase);
  322.  
  323.  
  324. HRESULT STDMETHODCALLTYPE IAMCollection_Item_Proxy( 
  325.     IAMCollection * This,
  326.     /* [in] */ long lItem,
  327.     /* [out] */ IUnknown **ppUnk);
  328.  
  329.  
  330. void __RPC_STUB IAMCollection_Item_Stub(
  331.     IRpcStubBuffer *This,
  332.     IRpcChannelBuffer *_pRpcChannelBuffer,
  333.     PRPC_MESSAGE _pRpcMessage,
  334.     DWORD *_pdwStubPhase);
  335.  
  336.  
  337. /* [propget] */ HRESULT STDMETHODCALLTYPE IAMCollection_get__NewEnum_Proxy( 
  338.     IAMCollection * This,
  339.     /* [retval][out] */ IUnknown **ppUnk);
  340.  
  341.  
  342. void __RPC_STUB IAMCollection_get__NewEnum_Stub(
  343.     IRpcStubBuffer *This,
  344.     IRpcChannelBuffer *_pRpcChannelBuffer,
  345.     PRPC_MESSAGE _pRpcMessage,
  346.     DWORD *_pdwStubPhase);
  347.  
  348.  
  349.  
  350. #endif     /* __IAMCollection_INTERFACE_DEFINED__ */
  351.  
  352.  
  353. #ifndef __IMediaControl_INTERFACE_DEFINED__
  354. #define __IMediaControl_INTERFACE_DEFINED__
  355.  
  356. /* interface IMediaControl */
  357. /* [object][dual][oleautomation][helpstring][uuid] */ 
  358.  
  359.  
  360. DEFINE_GUID(IID_IMediaControl,0x56a868b1,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
  361.  
  362. #if defined(__cplusplus) && !defined(CINTERFACE)
  363.     
  364.     MIDL_INTERFACE("56a868b1-0ad4-11ce-b03a-0020af0ba770")
  365.     IMediaControl : public IDispatch
  366.     {
  367.     public:
  368.         virtual HRESULT STDMETHODCALLTYPE Run( void) = 0;
  369.         
  370.         virtual HRESULT STDMETHODCALLTYPE Pause( void) = 0;
  371.         
  372.         virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;
  373.         
  374.         virtual HRESULT STDMETHODCALLTYPE GetState( 
  375.             /* [in] */ LONG msTimeout,
  376.             /* [out] */ OAFilterState *pfs) = 0;
  377.         
  378.         virtual HRESULT STDMETHODCALLTYPE RenderFile( 
  379.             /* [in] */ BSTR strFilename) = 0;
  380.         
  381.         virtual HRESULT STDMETHODCALLTYPE AddSourceFilter( 
  382.             /* [in] */ BSTR strFilename,
  383.             /* [out] */ IDispatch **ppUnk) = 0;
  384.         
  385.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FilterCollection( 
  386.             /* [retval][out] */ IDispatch **ppUnk) = 0;
  387.         
  388.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RegFilterCollection( 
  389.             /* [retval][out] */ IDispatch **ppUnk) = 0;
  390.         
  391.         virtual HRESULT STDMETHODCALLTYPE StopWhenReady( void) = 0;
  392.         
  393.     };
  394.     
  395. #else     /* C style interface */
  396.  
  397.     typedef struct IMediaControlVtbl
  398.     {
  399.         BEGIN_INTERFACE
  400.         
  401.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  402.             IMediaControl * This,
  403.             /* [in] */ REFIID riid,
  404.             /* [iid_is][out] */ void **ppvObject);
  405.         
  406.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  407.             IMediaControl * This);
  408.         
  409.         ULONG ( STDMETHODCALLTYPE *Release )( 
  410.             IMediaControl * This);
  411.         
  412.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  413.             IMediaControl * This,
  414.             /* [out] */ UINT *pctinfo);
  415.         
  416.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  417.             IMediaControl * This,
  418.             /* [in] */ UINT iTInfo,
  419.             /* [in] */ LCID lcid,
  420.             /* [out] */ ITypeInfo **ppTInfo);
  421.         
  422.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  423.             IMediaControl * This,
  424.             /* [in] */ REFIID riid,
  425.             /* [size_is][in] */ LPOLESTR *rgszNames,
  426.             /* [in] */ UINT cNames,
  427.             /* [in] */ LCID lcid,
  428.             /* [size_is][out] */ DISPID *rgDispId);
  429.         
  430.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  431.             IMediaControl * This,
  432.             /* [in] */ DISPID dispIdMember,
  433.             /* [in] */ REFIID riid,
  434.             /* [in] */ LCID lcid,
  435.             /* [in] */ WORD wFlags,
  436.             /* [out][in] */ DISPPARAMS *pDispParams,
  437.             /* [out] */ VARIANT *pVarResult,
  438.             /* [out] */ EXCEPINFO *pExcepInfo,
  439.             /* [out] */ UINT *puArgErr);
  440.         
  441.         HRESULT ( STDMETHODCALLTYPE *Run )( 
  442.             IMediaControl * This);
  443.         
  444.         HRESULT ( STDMETHODCALLTYPE *Pause )( 
  445.             IMediaControl * This);
  446.         
  447.         HRESULT ( STDMETHODCALLTYPE *Stop )( 
  448.             IMediaControl * This);
  449.         
  450.         HRESULT ( STDMETHODCALLTYPE *GetState )( 
  451.             IMediaControl * This,
  452.             /* [in] */ LONG msTimeout,
  453.             /* [out] */ OAFilterState *pfs);
  454.         
  455.         HRESULT ( STDMETHODCALLTYPE *RenderFile )( 
  456.             IMediaControl * This,
  457.             /* [in] */ BSTR strFilename);
  458.         
  459.         HRESULT ( STDMETHODCALLTYPE *AddSourceFilter )( 
  460.             IMediaControl * This,
  461.             /* [in] */ BSTR strFilename,
  462.             /* [out] */ IDispatch **ppUnk);
  463.         
  464.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FilterCollection )( 
  465.             IMediaControl * This,
  466.             /* [retval][out] */ IDispatch **ppUnk);
  467.         
  468.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RegFilterCollection )( 
  469.             IMediaControl * This,
  470.             /* [retval][out] */ IDispatch **ppUnk);
  471.         
  472.         HRESULT ( STDMETHODCALLTYPE *StopWhenReady )( 
  473.             IMediaControl * This);
  474.         
  475.         END_INTERFACE
  476.     } IMediaControlVtbl;
  477.  
  478.     interface IMediaControl
  479.     {
  480.         CONST_VTBL struct IMediaControlVtbl *lpVtbl;
  481.     };
  482.  
  483.     
  484.  
  485. #ifdef COBJMACROS
  486.  
  487.  
  488. #define IMediaControl_QueryInterface(This,riid,ppvObject)    \
  489.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  490.  
  491. #define IMediaControl_AddRef(This)    \
  492.     (This)->lpVtbl -> AddRef(This)
  493.  
  494. #define IMediaControl_Release(This)    \
  495.     (This)->lpVtbl -> Release(This)
  496.  
  497.  
  498. #define IMediaControl_GetTypeInfoCount(This,pctinfo)    \
  499.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  500.  
  501. #define IMediaControl_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  502.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  503.  
  504. #define IMediaControl_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  505.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  506.  
  507. #define IMediaControl_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  508.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  509.  
  510.  
  511. #define IMediaControl_Run(This)    \
  512.     (This)->lpVtbl -> Run(This)
  513.  
  514. #define IMediaControl_Pause(This)    \
  515.     (This)->lpVtbl -> Pause(This)
  516.  
  517. #define IMediaControl_Stop(This)    \
  518.     (This)->lpVtbl -> Stop(This)
  519.  
  520. #define IMediaControl_GetState(This,msTimeout,pfs)    \
  521.     (This)->lpVtbl -> GetState(This,msTimeout,pfs)
  522.  
  523. #define IMediaControl_RenderFile(This,strFilename)    \
  524.     (This)->lpVtbl -> RenderFile(This,strFilename)
  525.  
  526. #define IMediaControl_AddSourceFilter(This,strFilename,ppUnk)    \
  527.     (This)->lpVtbl -> AddSourceFilter(This,strFilename,ppUnk)
  528.  
  529. #define IMediaControl_get_FilterCollection(This,ppUnk)    \
  530.     (This)->lpVtbl -> get_FilterCollection(This,ppUnk)
  531.  
  532. #define IMediaControl_get_RegFilterCollection(This,ppUnk)    \
  533.     (This)->lpVtbl -> get_RegFilterCollection(This,ppUnk)
  534.  
  535. #define IMediaControl_StopWhenReady(This)    \
  536.     (This)->lpVtbl -> StopWhenReady(This)
  537.  
  538. #endif /* COBJMACROS */
  539.  
  540.  
  541. #endif     /* C style interface */
  542.  
  543.  
  544.  
  545. HRESULT STDMETHODCALLTYPE IMediaControl_Run_Proxy( 
  546.     IMediaControl * This);
  547.  
  548.  
  549. void __RPC_STUB IMediaControl_Run_Stub(
  550.     IRpcStubBuffer *This,
  551.     IRpcChannelBuffer *_pRpcChannelBuffer,
  552.     PRPC_MESSAGE _pRpcMessage,
  553.     DWORD *_pdwStubPhase);
  554.  
  555.  
  556. HRESULT STDMETHODCALLTYPE IMediaControl_Pause_Proxy( 
  557.     IMediaControl * This);
  558.  
  559.  
  560. void __RPC_STUB IMediaControl_Pause_Stub(
  561.     IRpcStubBuffer *This,
  562.     IRpcChannelBuffer *_pRpcChannelBuffer,
  563.     PRPC_MESSAGE _pRpcMessage,
  564.     DWORD *_pdwStubPhase);
  565.  
  566.  
  567. HRESULT STDMETHODCALLTYPE IMediaControl_Stop_Proxy( 
  568.     IMediaControl * This);
  569.  
  570.  
  571. void __RPC_STUB IMediaControl_Stop_Stub(
  572.     IRpcStubBuffer *This,
  573.     IRpcChannelBuffer *_pRpcChannelBuffer,
  574.     PRPC_MESSAGE _pRpcMessage,
  575.     DWORD *_pdwStubPhase);
  576.  
  577.  
  578. HRESULT STDMETHODCALLTYPE IMediaControl_GetState_Proxy( 
  579.     IMediaControl * This,
  580.     /* [in] */ LONG msTimeout,
  581.     /* [out] */ OAFilterState *pfs);
  582.  
  583.  
  584. void __RPC_STUB IMediaControl_GetState_Stub(
  585.     IRpcStubBuffer *This,
  586.     IRpcChannelBuffer *_pRpcChannelBuffer,
  587.     PRPC_MESSAGE _pRpcMessage,
  588.     DWORD *_pdwStubPhase);
  589.  
  590.  
  591. HRESULT STDMETHODCALLTYPE IMediaControl_RenderFile_Proxy( 
  592.     IMediaControl * This,
  593.     /* [in] */ BSTR strFilename);
  594.  
  595.  
  596. void __RPC_STUB IMediaControl_RenderFile_Stub(
  597.     IRpcStubBuffer *This,
  598.     IRpcChannelBuffer *_pRpcChannelBuffer,
  599.     PRPC_MESSAGE _pRpcMessage,
  600.     DWORD *_pdwStubPhase);
  601.  
  602.  
  603. HRESULT STDMETHODCALLTYPE IMediaControl_AddSourceFilter_Proxy( 
  604.     IMediaControl * This,
  605.     /* [in] */ BSTR strFilename,
  606.     /* [out] */ IDispatch **ppUnk);
  607.  
  608.  
  609. void __RPC_STUB IMediaControl_AddSourceFilter_Stub(
  610.     IRpcStubBuffer *This,
  611.     IRpcChannelBuffer *_pRpcChannelBuffer,
  612.     PRPC_MESSAGE _pRpcMessage,
  613.     DWORD *_pdwStubPhase);
  614.  
  615.  
  616. /* [propget] */ HRESULT STDMETHODCALLTYPE IMediaControl_get_FilterCollection_Proxy( 
  617.     IMediaControl * This,
  618.     /* [retval][out] */ IDispatch **ppUnk);
  619.  
  620.  
  621. void __RPC_STUB IMediaControl_get_FilterCollection_Stub(
  622.     IRpcStubBuffer *This,
  623.     IRpcChannelBuffer *_pRpcChannelBuffer,
  624.     PRPC_MESSAGE _pRpcMessage,
  625.     DWORD *_pdwStubPhase);
  626.  
  627.  
  628. /* [propget] */ HRESULT STDMETHODCALLTYPE IMediaControl_get_RegFilterCollection_Proxy( 
  629.     IMediaControl * This,
  630.     /* [retval][out] */ IDispatch **ppUnk);
  631.  
  632.  
  633. void __RPC_STUB IMediaControl_get_RegFilterCollection_Stub(
  634.     IRpcStubBuffer *This,
  635.     IRpcChannelBuffer *_pRpcChannelBuffer,
  636.     PRPC_MESSAGE _pRpcMessage,
  637.     DWORD *_pdwStubPhase);
  638.  
  639.  
  640. HRESULT STDMETHODCALLTYPE IMediaControl_StopWhenReady_Proxy( 
  641.     IMediaControl * This);
  642.  
  643.  
  644. void __RPC_STUB IMediaControl_StopWhenReady_Stub(
  645.     IRpcStubBuffer *This,
  646.     IRpcChannelBuffer *_pRpcChannelBuffer,
  647.     PRPC_MESSAGE _pRpcMessage,
  648.     DWORD *_pdwStubPhase);
  649.  
  650.  
  651.  
  652. #endif     /* __IMediaControl_INTERFACE_DEFINED__ */
  653.  
  654.  
  655. #ifndef __IMediaEvent_INTERFACE_DEFINED__
  656. #define __IMediaEvent_INTERFACE_DEFINED__
  657.  
  658. /* interface IMediaEvent */
  659. /* [object][dual][oleautomation][helpstring][uuid] */ 
  660.  
  661.  
  662. DEFINE_GUID(IID_IMediaEvent,0x56a868b6,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
  663.  
  664. #if defined(__cplusplus) && !defined(CINTERFACE)
  665.     
  666.     MIDL_INTERFACE("56a868b6-0ad4-11ce-b03a-0020af0ba770")
  667.     IMediaEvent : public IDispatch
  668.     {
  669.     public:
  670.         virtual HRESULT STDMETHODCALLTYPE GetEventHandle( 
  671.             /* [out] */ OAEVENT *hEvent) = 0;
  672.         
  673.         virtual HRESULT STDMETHODCALLTYPE GetEvent( 
  674.             /* [out] */ long *lEventCode,
  675.             /* [out] */ LONG_PTR *lParam1,
  676.             /* [out] */ LONG_PTR *lParam2,
  677.             /* [in] */ long msTimeout) = 0;
  678.         
  679.         virtual HRESULT STDMETHODCALLTYPE WaitForCompletion( 
  680.             /* [in] */ long msTimeout,
  681.             /* [out] */ long *pEvCode) = 0;
  682.         
  683.         virtual HRESULT STDMETHODCALLTYPE CancelDefaultHandling( 
  684.             /* [in] */ long lEvCode) = 0;
  685.         
  686.         virtual HRESULT STDMETHODCALLTYPE RestoreDefaultHandling( 
  687.             /* [in] */ long lEvCode) = 0;
  688.         
  689.         virtual HRESULT STDMETHODCALLTYPE FreeEventParams( 
  690.             /* [in] */ long lEvCode,
  691.             /* [in] */ LONG_PTR lParam1,
  692.             /* [in] */ LONG_PTR lParam2) = 0;
  693.         
  694.     };
  695.     
  696. #else     /* C style interface */
  697.  
  698.     typedef struct IMediaEventVtbl
  699.     {
  700.         BEGIN_INTERFACE
  701.         
  702.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  703.             IMediaEvent * This,
  704.             /* [in] */ REFIID riid,
  705.             /* [iid_is][out] */ void **ppvObject);
  706.         
  707.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  708.             IMediaEvent * This);
  709.         
  710.         ULONG ( STDMETHODCALLTYPE *Release )( 
  711.             IMediaEvent * This);
  712.         
  713.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  714.             IMediaEvent * This,
  715.             /* [out] */ UINT *pctinfo);
  716.         
  717.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  718.             IMediaEvent * This,
  719.             /* [in] */ UINT iTInfo,
  720.             /* [in] */ LCID lcid,
  721.             /* [out] */ ITypeInfo **ppTInfo);
  722.         
  723.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  724.             IMediaEvent * This,
  725.             /* [in] */ REFIID riid,
  726.             /* [size_is][in] */ LPOLESTR *rgszNames,
  727.             /* [in] */ UINT cNames,
  728.             /* [in] */ LCID lcid,
  729.             /* [size_is][out] */ DISPID *rgDispId);
  730.         
  731.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  732.             IMediaEvent * This,
  733.             /* [in] */ DISPID dispIdMember,
  734.             /* [in] */ REFIID riid,
  735.             /* [in] */ LCID lcid,
  736.             /* [in] */ WORD wFlags,
  737.             /* [out][in] */ DISPPARAMS *pDispParams,
  738.             /* [out] */ VARIANT *pVarResult,
  739.             /* [out] */ EXCEPINFO *pExcepInfo,
  740.             /* [out] */ UINT *puArgErr);
  741.         
  742.         HRESULT ( STDMETHODCALLTYPE *GetEventHandle )( 
  743.             IMediaEvent * This,
  744.             /* [out] */ OAEVENT *hEvent);
  745.         
  746.         HRESULT ( STDMETHODCALLTYPE *GetEvent )( 
  747.             IMediaEvent * This,
  748.             /* [out] */ long *lEventCode,
  749.             /* [out] */ LONG_PTR *lParam1,
  750.             /* [out] */ LONG_PTR *lParam2,
  751.             /* [in] */ long msTimeout);
  752.         
  753.         HRESULT ( STDMETHODCALLTYPE *WaitForCompletion )( 
  754.             IMediaEvent * This,
  755.             /* [in] */ long msTimeout,
  756.             /* [out] */ long *pEvCode);
  757.         
  758.         HRESULT ( STDMETHODCALLTYPE *CancelDefaultHandling )( 
  759.             IMediaEvent * This,
  760.             /* [in] */ long lEvCode);
  761.         
  762.         HRESULT ( STDMETHODCALLTYPE *RestoreDefaultHandling )( 
  763.             IMediaEvent * This,
  764.             /* [in] */ long lEvCode);
  765.         
  766.         HRESULT ( STDMETHODCALLTYPE *FreeEventParams )( 
  767.             IMediaEvent * This,
  768.             /* [in] */ long lEvCode,
  769.             /* [in] */ LONG_PTR lParam1,
  770.             /* [in] */ LONG_PTR lParam2);
  771.         
  772.         END_INTERFACE
  773.     } IMediaEventVtbl;
  774.  
  775.     interface IMediaEvent
  776.     {
  777.         CONST_VTBL struct IMediaEventVtbl *lpVtbl;
  778.     };
  779.  
  780.     
  781.  
  782. #ifdef COBJMACROS
  783.  
  784.  
  785. #define IMediaEvent_QueryInterface(This,riid,ppvObject)    \
  786.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  787.  
  788. #define IMediaEvent_AddRef(This)    \
  789.     (This)->lpVtbl -> AddRef(This)
  790.  
  791. #define IMediaEvent_Release(This)    \
  792.     (This)->lpVtbl -> Release(This)
  793.  
  794.  
  795. #define IMediaEvent_GetTypeInfoCount(This,pctinfo)    \
  796.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  797.  
  798. #define IMediaEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  799.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  800.  
  801. #define IMediaEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  802.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  803.  
  804. #define IMediaEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  805.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  806.  
  807.  
  808. #define IMediaEvent_GetEventHandle(This,hEvent)    \
  809.     (This)->lpVtbl -> GetEventHandle(This,hEvent)
  810.  
  811. #define IMediaEvent_GetEvent(This,lEventCode,lParam1,lParam2,msTimeout)    \
  812.     (This)->lpVtbl -> GetEvent(This,lEventCode,lParam1,lParam2,msTimeout)
  813.  
  814. #define IMediaEvent_WaitForCompletion(This,msTimeout,pEvCode)    \
  815.     (This)->lpVtbl -> WaitForCompletion(This,msTimeout,pEvCode)
  816.  
  817. #define IMediaEvent_CancelDefaultHandling(This,lEvCode)    \
  818.     (This)->lpVtbl -> CancelDefaultHandling(This,lEvCode)
  819.  
  820. #define IMediaEvent_RestoreDefaultHandling(This,lEvCode)    \
  821.     (This)->lpVtbl -> RestoreDefaultHandling(This,lEvCode)
  822.  
  823. #define IMediaEvent_FreeEventParams(This,lEvCode,lParam1,lParam2)    \
  824.     (This)->lpVtbl -> FreeEventParams(This,lEvCode,lParam1,lParam2)
  825.  
  826. #endif /* COBJMACROS */
  827.  
  828.  
  829. #endif     /* C style interface */
  830.  
  831.  
  832.  
  833. HRESULT STDMETHODCALLTYPE IMediaEvent_GetEventHandle_Proxy( 
  834.     IMediaEvent * This,
  835.     /* [out] */ OAEVENT *hEvent);
  836.  
  837.  
  838. void __RPC_STUB IMediaEvent_GetEventHandle_Stub(
  839.     IRpcStubBuffer *This,
  840.     IRpcChannelBuffer *_pRpcChannelBuffer,
  841.     PRPC_MESSAGE _pRpcMessage,
  842.     DWORD *_pdwStubPhase);
  843.  
  844.  
  845. HRESULT STDMETHODCALLTYPE IMediaEvent_GetEvent_Proxy( 
  846.     IMediaEvent * This,
  847.     /* [out] */ long *lEventCode,
  848.     /* [out] */ LONG_PTR *lParam1,
  849.     /* [out] */ LONG_PTR *lParam2,
  850.     /* [in] */ long msTimeout);
  851.  
  852.  
  853. void __RPC_STUB IMediaEvent_GetEvent_Stub(
  854.     IRpcStubBuffer *This,
  855.     IRpcChannelBuffer *_pRpcChannelBuffer,
  856.     PRPC_MESSAGE _pRpcMessage,
  857.     DWORD *_pdwStubPhase);
  858.  
  859.  
  860. HRESULT STDMETHODCALLTYPE IMediaEvent_WaitForCompletion_Proxy( 
  861.     IMediaEvent * This,
  862.     /* [in] */ long msTimeout,
  863.     /* [out] */ long *pEvCode);
  864.  
  865.  
  866. void __RPC_STUB IMediaEvent_WaitForCompletion_Stub(
  867.     IRpcStubBuffer *This,
  868.     IRpcChannelBuffer *_pRpcChannelBuffer,
  869.     PRPC_MESSAGE _pRpcMessage,
  870.     DWORD *_pdwStubPhase);
  871.  
  872.  
  873. HRESULT STDMETHODCALLTYPE IMediaEvent_CancelDefaultHandling_Proxy( 
  874.     IMediaEvent * This,
  875.     /* [in] */ long lEvCode);
  876.  
  877.  
  878. void __RPC_STUB IMediaEvent_CancelDefaultHandling_Stub(
  879.     IRpcStubBuffer *This,
  880.     IRpcChannelBuffer *_pRpcChannelBuffer,
  881.     PRPC_MESSAGE _pRpcMessage,
  882.     DWORD *_pdwStubPhase);
  883.  
  884.  
  885. HRESULT STDMETHODCALLTYPE IMediaEvent_RestoreDefaultHandling_Proxy( 
  886.     IMediaEvent * This,
  887.     /* [in] */ long lEvCode);
  888.  
  889.  
  890. void __RPC_STUB IMediaEvent_RestoreDefaultHandling_Stub(
  891.     IRpcStubBuffer *This,
  892.     IRpcChannelBuffer *_pRpcChannelBuffer,
  893.     PRPC_MESSAGE _pRpcMessage,
  894.     DWORD *_pdwStubPhase);
  895.  
  896.  
  897. HRESULT STDMETHODCALLTYPE IMediaEvent_FreeEventParams_Proxy( 
  898.     IMediaEvent * This,
  899.     /* [in] */ long lEvCode,
  900.     /* [in] */ LONG_PTR lParam1,
  901.     /* [in] */ LONG_PTR lParam2);
  902.  
  903.  
  904. void __RPC_STUB IMediaEvent_FreeEventParams_Stub(
  905.     IRpcStubBuffer *This,
  906.     IRpcChannelBuffer *_pRpcChannelBuffer,
  907.     PRPC_MESSAGE _pRpcMessage,
  908.     DWORD *_pdwStubPhase);
  909.  
  910.  
  911.  
  912. #endif     /* __IMediaEvent_INTERFACE_DEFINED__ */
  913.  
  914.  
  915. #ifndef __IMediaEventEx_INTERFACE_DEFINED__
  916. #define __IMediaEventEx_INTERFACE_DEFINED__
  917.  
  918. /* interface IMediaEventEx */
  919. /* [object][helpstring][uuid] */ 
  920.  
  921.  
  922. DEFINE_GUID(IID_IMediaEventEx,0x56a868c0,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
  923.  
  924. #if defined(__cplusplus) && !defined(CINTERFACE)
  925.     
  926.     MIDL_INTERFACE("56a868c0-0ad4-11ce-b03a-0020af0ba770")
  927.     IMediaEventEx : public IMediaEvent
  928.     {
  929.     public:
  930.         virtual HRESULT STDMETHODCALLTYPE SetNotifyWindow( 
  931.             /* [in] */ OAHWND hwnd,
  932.             /* [in] */ long lMsg,
  933.             /* [in] */ LONG_PTR lInstanceData) = 0;
  934.         
  935.         virtual HRESULT STDMETHODCALLTYPE SetNotifyFlags( 
  936.             /* [in] */ long lNoNotifyFlags) = 0;
  937.         
  938.         virtual HRESULT STDMETHODCALLTYPE GetNotifyFlags( 
  939.             /* [out] */ long *lplNoNotifyFlags) = 0;
  940.         
  941.     };
  942.     
  943. #else     /* C style interface */
  944.  
  945.     typedef struct IMediaEventExVtbl
  946.     {
  947.         BEGIN_INTERFACE
  948.         
  949.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  950.             IMediaEventEx * This,
  951.             /* [in] */ REFIID riid,
  952.             /* [iid_is][out] */ void **ppvObject);
  953.         
  954.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  955.             IMediaEventEx * This);
  956.         
  957.         ULONG ( STDMETHODCALLTYPE *Release )( 
  958.             IMediaEventEx * This);
  959.         
  960.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  961.             IMediaEventEx * This,
  962.             /* [out] */ UINT *pctinfo);
  963.         
  964.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  965.             IMediaEventEx * This,
  966.             /* [in] */ UINT iTInfo,
  967.             /* [in] */ LCID lcid,
  968.             /* [out] */ ITypeInfo **ppTInfo);
  969.         
  970.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  971.             IMediaEventEx * This,
  972.             /* [in] */ REFIID riid,
  973.             /* [size_is][in] */ LPOLESTR *rgszNames,
  974.             /* [in] */ UINT cNames,
  975.             /* [in] */ LCID lcid,
  976.             /* [size_is][out] */ DISPID *rgDispId);
  977.         
  978.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  979.             IMediaEventEx * This,
  980.             /* [in] */ DISPID dispIdMember,
  981.             /* [in] */ REFIID riid,
  982.             /* [in] */ LCID lcid,
  983.             /* [in] */ WORD wFlags,
  984.             /* [out][in] */ DISPPARAMS *pDispParams,
  985.             /* [out] */ VARIANT *pVarResult,
  986.             /* [out] */ EXCEPINFO *pExcepInfo,
  987.             /* [out] */ UINT *puArgErr);
  988.         
  989.         HRESULT ( STDMETHODCALLTYPE *GetEventHandle )( 
  990.             IMediaEventEx * This,
  991.             /* [out] */ OAEVENT *hEvent);
  992.         
  993.         HRESULT ( STDMETHODCALLTYPE *GetEvent )( 
  994.             IMediaEventEx * This,
  995.             /* [out] */ long *lEventCode,
  996.             /* [out] */ LONG_PTR *lParam1,
  997.             /* [out] */ LONG_PTR *lParam2,
  998.             /* [in] */ long msTimeout);
  999.         
  1000.         HRESULT ( STDMETHODCALLTYPE *WaitForCompletion )( 
  1001.             IMediaEventEx * This,
  1002.             /* [in] */ long msTimeout,
  1003.             /* [out] */ long *pEvCode);
  1004.         
  1005.         HRESULT ( STDMETHODCALLTYPE *CancelDefaultHandling )( 
  1006.             IMediaEventEx * This,
  1007.             /* [in] */ long lEvCode);
  1008.         
  1009.         HRESULT ( STDMETHODCALLTYPE *RestoreDefaultHandling )( 
  1010.             IMediaEventEx * This,
  1011.             /* [in] */ long lEvCode);
  1012.         
  1013.         HRESULT ( STDMETHODCALLTYPE *FreeEventParams )( 
  1014.             IMediaEventEx * This,
  1015.             /* [in] */ long lEvCode,
  1016.             /* [in] */ LONG_PTR lParam1,
  1017.             /* [in] */ LONG_PTR lParam2);
  1018.         
  1019.         HRESULT ( STDMETHODCALLTYPE *SetNotifyWindow )( 
  1020.             IMediaEventEx * This,
  1021.             /* [in] */ OAHWND hwnd,
  1022.             /* [in] */ long lMsg,
  1023.             /* [in] */ LONG_PTR lInstanceData);
  1024.         
  1025.         HRESULT ( STDMETHODCALLTYPE *SetNotifyFlags )( 
  1026.             IMediaEventEx * This,
  1027.             /* [in] */ long lNoNotifyFlags);
  1028.         
  1029.         HRESULT ( STDMETHODCALLTYPE *GetNotifyFlags )( 
  1030.             IMediaEventEx * This,
  1031.             /* [out] */ long *lplNoNotifyFlags);
  1032.         
  1033.         END_INTERFACE
  1034.     } IMediaEventExVtbl;
  1035.  
  1036.     interface IMediaEventEx
  1037.     {
  1038.         CONST_VTBL struct IMediaEventExVtbl *lpVtbl;
  1039.     };
  1040.  
  1041.     
  1042.  
  1043. #ifdef COBJMACROS
  1044.  
  1045.  
  1046. #define IMediaEventEx_QueryInterface(This,riid,ppvObject)    \
  1047.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1048.  
  1049. #define IMediaEventEx_AddRef(This)    \
  1050.     (This)->lpVtbl -> AddRef(This)
  1051.  
  1052. #define IMediaEventEx_Release(This)    \
  1053.     (This)->lpVtbl -> Release(This)
  1054.  
  1055.  
  1056. #define IMediaEventEx_GetTypeInfoCount(This,pctinfo)    \
  1057.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1058.  
  1059. #define IMediaEventEx_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  1060.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1061.  
  1062. #define IMediaEventEx_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  1063.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1064.  
  1065. #define IMediaEventEx_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  1066.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1067.  
  1068.  
  1069. #define IMediaEventEx_GetEventHandle(This,hEvent)    \
  1070.     (This)->lpVtbl -> GetEventHandle(This,hEvent)
  1071.  
  1072. #define IMediaEventEx_GetEvent(This,lEventCode,lParam1,lParam2,msTimeout)    \
  1073.     (This)->lpVtbl -> GetEvent(This,lEventCode,lParam1,lParam2,msTimeout)
  1074.  
  1075. #define IMediaEventEx_WaitForCompletion(This,msTimeout,pEvCode)    \
  1076.     (This)->lpVtbl -> WaitForCompletion(This,msTimeout,pEvCode)
  1077.  
  1078. #define IMediaEventEx_CancelDefaultHandling(This,lEvCode)    \
  1079.     (This)->lpVtbl -> CancelDefaultHandling(This,lEvCode)
  1080.  
  1081. #define IMediaEventEx_RestoreDefaultHandling(This,lEvCode)    \
  1082.     (This)->lpVtbl -> RestoreDefaultHandling(This,lEvCode)
  1083.  
  1084. #define IMediaEventEx_FreeEventParams(This,lEvCode,lParam1,lParam2)    \
  1085.     (This)->lpVtbl -> FreeEventParams(This,lEvCode,lParam1,lParam2)
  1086.  
  1087.  
  1088. #define IMediaEventEx_SetNotifyWindow(This,hwnd,lMsg,lInstanceData)    \
  1089.     (This)->lpVtbl -> SetNotifyWindow(This,hwnd,lMsg,lInstanceData)
  1090.  
  1091. #define IMediaEventEx_SetNotifyFlags(This,lNoNotifyFlags)    \
  1092.     (This)->lpVtbl -> SetNotifyFlags(This,lNoNotifyFlags)
  1093.  
  1094. #define IMediaEventEx_GetNotifyFlags(This,lplNoNotifyFlags)    \
  1095.     (This)->lpVtbl -> GetNotifyFlags(This,lplNoNotifyFlags)
  1096.  
  1097. #endif /* COBJMACROS */
  1098.  
  1099.  
  1100. #endif     /* C style interface */
  1101.  
  1102.  
  1103.  
  1104. HRESULT STDMETHODCALLTYPE IMediaEventEx_SetNotifyWindow_Proxy( 
  1105.     IMediaEventEx * This,
  1106.     /* [in] */ OAHWND hwnd,
  1107.     /* [in] */ long lMsg,
  1108.     /* [in] */ LONG_PTR lInstanceData);
  1109.  
  1110.  
  1111. void __RPC_STUB IMediaEventEx_SetNotifyWindow_Stub(
  1112.     IRpcStubBuffer *This,
  1113.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1114.     PRPC_MESSAGE _pRpcMessage,
  1115.     DWORD *_pdwStubPhase);
  1116.  
  1117.  
  1118. HRESULT STDMETHODCALLTYPE IMediaEventEx_SetNotifyFlags_Proxy( 
  1119.     IMediaEventEx * This,
  1120.     /* [in] */ long lNoNotifyFlags);
  1121.  
  1122.  
  1123. void __RPC_STUB IMediaEventEx_SetNotifyFlags_Stub(
  1124.     IRpcStubBuffer *This,
  1125.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1126.     PRPC_MESSAGE _pRpcMessage,
  1127.     DWORD *_pdwStubPhase);
  1128.  
  1129.  
  1130. HRESULT STDMETHODCALLTYPE IMediaEventEx_GetNotifyFlags_Proxy( 
  1131.     IMediaEventEx * This,
  1132.     /* [out] */ long *lplNoNotifyFlags);
  1133.  
  1134.  
  1135. void __RPC_STUB IMediaEventEx_GetNotifyFlags_Stub(
  1136.     IRpcStubBuffer *This,
  1137.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1138.     PRPC_MESSAGE _pRpcMessage,
  1139.     DWORD *_pdwStubPhase);
  1140.  
  1141.  
  1142.  
  1143. #endif     /* __IMediaEventEx_INTERFACE_DEFINED__ */
  1144.  
  1145.  
  1146. #ifndef __IMediaPosition_INTERFACE_DEFINED__
  1147. #define __IMediaPosition_INTERFACE_DEFINED__
  1148.  
  1149. /* interface IMediaPosition */
  1150. /* [object][dual][oleautomation][helpstring][uuid] */ 
  1151.  
  1152.  
  1153. DEFINE_GUID(IID_IMediaPosition,0x56a868b2,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
  1154.  
  1155. #if defined(__cplusplus) && !defined(CINTERFACE)
  1156.     
  1157.     MIDL_INTERFACE("56a868b2-0ad4-11ce-b03a-0020af0ba770")
  1158.     IMediaPosition : public IDispatch
  1159.     {
  1160.     public:
  1161.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Duration( 
  1162.             /* [retval][out] */ REFTIME *plength) = 0;
  1163.         
  1164.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_CurrentPosition( 
  1165.             /* [in] */ REFTIME llTime) = 0;
  1166.         
  1167.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CurrentPosition( 
  1168.             /* [retval][out] */ REFTIME *pllTime) = 0;
  1169.         
  1170.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_StopTime( 
  1171.             /* [retval][out] */ REFTIME *pllTime) = 0;
  1172.         
  1173.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_StopTime( 
  1174.             /* [in] */ REFTIME llTime) = 0;
  1175.         
  1176.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PrerollTime( 
  1177.             /* [retval][out] */ REFTIME *pllTime) = 0;
  1178.         
  1179.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_PrerollTime( 
  1180.             /* [in] */ REFTIME llTime) = 0;
  1181.         
  1182.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Rate( 
  1183.             /* [in] */ double dRate) = 0;
  1184.         
  1185.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Rate( 
  1186.             /* [retval][out] */ double *pdRate) = 0;
  1187.         
  1188.         virtual HRESULT STDMETHODCALLTYPE CanSeekForward( 
  1189.             /* [retval][out] */ LONG *pCanSeekForward) = 0;
  1190.         
  1191.         virtual HRESULT STDMETHODCALLTYPE CanSeekBackward( 
  1192.             /* [retval][out] */ LONG *pCanSeekBackward) = 0;
  1193.         
  1194.     };
  1195.     
  1196. #else     /* C style interface */
  1197.  
  1198.     typedef struct IMediaPositionVtbl
  1199.     {
  1200.         BEGIN_INTERFACE
  1201.         
  1202.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1203.             IMediaPosition * This,
  1204.             /* [in] */ REFIID riid,
  1205.             /* [iid_is][out] */ void **ppvObject);
  1206.         
  1207.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1208.             IMediaPosition * This);
  1209.         
  1210.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1211.             IMediaPosition * This);
  1212.         
  1213.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  1214.             IMediaPosition * This,
  1215.             /* [out] */ UINT *pctinfo);
  1216.         
  1217.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  1218.             IMediaPosition * This,
  1219.             /* [in] */ UINT iTInfo,
  1220.             /* [in] */ LCID lcid,
  1221.             /* [out] */ ITypeInfo **ppTInfo);
  1222.         
  1223.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  1224.             IMediaPosition * This,
  1225.             /* [in] */ REFIID riid,
  1226.             /* [size_is][in] */ LPOLESTR *rgszNames,
  1227.             /* [in] */ UINT cNames,
  1228.             /* [in] */ LCID lcid,
  1229.             /* [size_is][out] */ DISPID *rgDispId);
  1230.         
  1231.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  1232.             IMediaPosition * This,
  1233.             /* [in] */ DISPID dispIdMember,
  1234.             /* [in] */ REFIID riid,
  1235.             /* [in] */ LCID lcid,
  1236.             /* [in] */ WORD wFlags,
  1237.             /* [out][in] */ DISPPARAMS *pDispParams,
  1238.             /* [out] */ VARIANT *pVarResult,
  1239.             /* [out] */ EXCEPINFO *pExcepInfo,
  1240.             /* [out] */ UINT *puArgErr);
  1241.         
  1242.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Duration )( 
  1243.             IMediaPosition * This,
  1244.             /* [retval][out] */ REFTIME *plength);
  1245.         
  1246.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_CurrentPosition )( 
  1247.             IMediaPosition * This,
  1248.             /* [in] */ REFTIME llTime);
  1249.         
  1250.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentPosition )( 
  1251.             IMediaPosition * This,
  1252.             /* [retval][out] */ REFTIME *pllTime);
  1253.         
  1254.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_StopTime )( 
  1255.             IMediaPosition * This,
  1256.             /* [retval][out] */ REFTIME *pllTime);
  1257.         
  1258.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_StopTime )( 
  1259.             IMediaPosition * This,
  1260.             /* [in] */ REFTIME llTime);
  1261.         
  1262.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PrerollTime )( 
  1263.             IMediaPosition * This,
  1264.             /* [retval][out] */ REFTIME *pllTime);
  1265.         
  1266.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PrerollTime )( 
  1267.             IMediaPosition * This,
  1268.             /* [in] */ REFTIME llTime);
  1269.         
  1270.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Rate )( 
  1271.             IMediaPosition * This,
  1272.             /* [in] */ double dRate);
  1273.         
  1274.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Rate )( 
  1275.             IMediaPosition * This,
  1276.             /* [retval][out] */ double *pdRate);
  1277.         
  1278.         HRESULT ( STDMETHODCALLTYPE *CanSeekForward )( 
  1279.             IMediaPosition * This,
  1280.             /* [retval][out] */ LONG *pCanSeekForward);
  1281.         
  1282.         HRESULT ( STDMETHODCALLTYPE *CanSeekBackward )( 
  1283.             IMediaPosition * This,
  1284.             /* [retval][out] */ LONG *pCanSeekBackward);
  1285.         
  1286.         END_INTERFACE
  1287.     } IMediaPositionVtbl;
  1288.  
  1289.     interface IMediaPosition
  1290.     {
  1291.         CONST_VTBL struct IMediaPositionVtbl *lpVtbl;
  1292.     };
  1293.  
  1294.     
  1295.  
  1296. #ifdef COBJMACROS
  1297.  
  1298.  
  1299. #define IMediaPosition_QueryInterface(This,riid,ppvObject)    \
  1300.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1301.  
  1302. #define IMediaPosition_AddRef(This)    \
  1303.     (This)->lpVtbl -> AddRef(This)
  1304.  
  1305. #define IMediaPosition_Release(This)    \
  1306.     (This)->lpVtbl -> Release(This)
  1307.  
  1308.  
  1309. #define IMediaPosition_GetTypeInfoCount(This,pctinfo)    \
  1310.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1311.  
  1312. #define IMediaPosition_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  1313.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1314.  
  1315. #define IMediaPosition_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  1316.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1317.  
  1318. #define IMediaPosition_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  1319.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1320.  
  1321.  
  1322. #define IMediaPosition_get_Duration(This,plength)    \
  1323.     (This)->lpVtbl -> get_Duration(This,plength)
  1324.  
  1325. #define IMediaPosition_put_CurrentPosition(This,llTime)    \
  1326.     (This)->lpVtbl -> put_CurrentPosition(This,llTime)
  1327.  
  1328. #define IMediaPosition_get_CurrentPosition(This,pllTime)    \
  1329.     (This)->lpVtbl -> get_CurrentPosition(This,pllTime)
  1330.  
  1331. #define IMediaPosition_get_StopTime(This,pllTime)    \
  1332.     (This)->lpVtbl -> get_StopTime(This,pllTime)
  1333.  
  1334. #define IMediaPosition_put_StopTime(This,llTime)    \
  1335.     (This)->lpVtbl -> put_StopTime(This,llTime)
  1336.  
  1337. #define IMediaPosition_get_PrerollTime(This,pllTime)    \
  1338.     (This)->lpVtbl -> get_PrerollTime(This,pllTime)
  1339.  
  1340. #define IMediaPosition_put_PrerollTime(This,llTime)    \
  1341.     (This)->lpVtbl -> put_PrerollTime(This,llTime)
  1342.  
  1343. #define IMediaPosition_put_Rate(This,dRate)    \
  1344.     (This)->lpVtbl -> put_Rate(This,dRate)
  1345.  
  1346. #define IMediaPosition_get_Rate(This,pdRate)    \
  1347.     (This)->lpVtbl -> get_Rate(This,pdRate)
  1348.  
  1349. #define IMediaPosition_CanSeekForward(This,pCanSeekForward)    \
  1350.     (This)->lpVtbl -> CanSeekForward(This,pCanSeekForward)
  1351.  
  1352. #define IMediaPosition_CanSeekBackward(This,pCanSeekBackward)    \
  1353.     (This)->lpVtbl -> CanSeekBackward(This,pCanSeekBackward)
  1354.  
  1355. #endif /* COBJMACROS */
  1356.  
  1357.  
  1358. #endif     /* C style interface */
  1359.  
  1360.  
  1361.  
  1362. /* [propget] */ HRESULT STDMETHODCALLTYPE IMediaPosition_get_Duration_Proxy( 
  1363.     IMediaPosition * This,
  1364.     /* [retval][out] */ REFTIME *plength);
  1365.  
  1366.  
  1367. void __RPC_STUB IMediaPosition_get_Duration_Stub(
  1368.     IRpcStubBuffer *This,
  1369.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1370.     PRPC_MESSAGE _pRpcMessage,
  1371.     DWORD *_pdwStubPhase);
  1372.  
  1373.  
  1374. /* [propput] */ HRESULT STDMETHODCALLTYPE IMediaPosition_put_CurrentPosition_Proxy( 
  1375.     IMediaPosition * This,
  1376.     /* [in] */ REFTIME llTime);
  1377.  
  1378.  
  1379. void __RPC_STUB IMediaPosition_put_CurrentPosition_Stub(
  1380.     IRpcStubBuffer *This,
  1381.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1382.     PRPC_MESSAGE _pRpcMessage,
  1383.     DWORD *_pdwStubPhase);
  1384.  
  1385.  
  1386. /* [propget] */ HRESULT STDMETHODCALLTYPE IMediaPosition_get_CurrentPosition_Proxy( 
  1387.     IMediaPosition * This,
  1388.     /* [retval][out] */ REFTIME *pllTime);
  1389.  
  1390.  
  1391. void __RPC_STUB IMediaPosition_get_CurrentPosition_Stub(
  1392.     IRpcStubBuffer *This,
  1393.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1394.     PRPC_MESSAGE _pRpcMessage,
  1395.     DWORD *_pdwStubPhase);
  1396.  
  1397.  
  1398. /* [propget] */ HRESULT STDMETHODCALLTYPE IMediaPosition_get_StopTime_Proxy( 
  1399.     IMediaPosition * This,
  1400.     /* [retval][out] */ REFTIME *pllTime);
  1401.  
  1402.  
  1403. void __RPC_STUB IMediaPosition_get_StopTime_Stub(
  1404.     IRpcStubBuffer *This,
  1405.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1406.     PRPC_MESSAGE _pRpcMessage,
  1407.     DWORD *_pdwStubPhase);
  1408.  
  1409.  
  1410. /* [propput] */ HRESULT STDMETHODCALLTYPE IMediaPosition_put_StopTime_Proxy( 
  1411.     IMediaPosition * This,
  1412.     /* [in] */ REFTIME llTime);
  1413.  
  1414.  
  1415. void __RPC_STUB IMediaPosition_put_StopTime_Stub(
  1416.     IRpcStubBuffer *This,
  1417.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1418.     PRPC_MESSAGE _pRpcMessage,
  1419.     DWORD *_pdwStubPhase);
  1420.  
  1421.  
  1422. /* [propget] */ HRESULT STDMETHODCALLTYPE IMediaPosition_get_PrerollTime_Proxy( 
  1423.     IMediaPosition * This,
  1424.     /* [retval][out] */ REFTIME *pllTime);
  1425.  
  1426.  
  1427. void __RPC_STUB IMediaPosition_get_PrerollTime_Stub(
  1428.     IRpcStubBuffer *This,
  1429.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1430.     PRPC_MESSAGE _pRpcMessage,
  1431.     DWORD *_pdwStubPhase);
  1432.  
  1433.  
  1434. /* [propput] */ HRESULT STDMETHODCALLTYPE IMediaPosition_put_PrerollTime_Proxy( 
  1435.     IMediaPosition * This,
  1436.     /* [in] */ REFTIME llTime);
  1437.  
  1438.  
  1439. void __RPC_STUB IMediaPosition_put_PrerollTime_Stub(
  1440.     IRpcStubBuffer *This,
  1441.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1442.     PRPC_MESSAGE _pRpcMessage,
  1443.     DWORD *_pdwStubPhase);
  1444.  
  1445.  
  1446. /* [propput] */ HRESULT STDMETHODCALLTYPE IMediaPosition_put_Rate_Proxy( 
  1447.     IMediaPosition * This,
  1448.     /* [in] */ double dRate);
  1449.  
  1450.  
  1451. void __RPC_STUB IMediaPosition_put_Rate_Stub(
  1452.     IRpcStubBuffer *This,
  1453.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1454.     PRPC_MESSAGE _pRpcMessage,
  1455.     DWORD *_pdwStubPhase);
  1456.  
  1457.  
  1458. /* [propget] */ HRESULT STDMETHODCALLTYPE IMediaPosition_get_Rate_Proxy( 
  1459.     IMediaPosition * This,
  1460.     /* [retval][out] */ double *pdRate);
  1461.  
  1462.  
  1463. void __RPC_STUB IMediaPosition_get_Rate_Stub(
  1464.     IRpcStubBuffer *This,
  1465.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1466.     PRPC_MESSAGE _pRpcMessage,
  1467.     DWORD *_pdwStubPhase);
  1468.  
  1469.  
  1470. HRESULT STDMETHODCALLTYPE IMediaPosition_CanSeekForward_Proxy( 
  1471.     IMediaPosition * This,
  1472.     /* [retval][out] */ LONG *pCanSeekForward);
  1473.  
  1474.  
  1475. void __RPC_STUB IMediaPosition_CanSeekForward_Stub(
  1476.     IRpcStubBuffer *This,
  1477.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1478.     PRPC_MESSAGE _pRpcMessage,
  1479.     DWORD *_pdwStubPhase);
  1480.  
  1481.  
  1482. HRESULT STDMETHODCALLTYPE IMediaPosition_CanSeekBackward_Proxy( 
  1483.     IMediaPosition * This,
  1484.     /* [retval][out] */ LONG *pCanSeekBackward);
  1485.  
  1486.  
  1487. void __RPC_STUB IMediaPosition_CanSeekBackward_Stub(
  1488.     IRpcStubBuffer *This,
  1489.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1490.     PRPC_MESSAGE _pRpcMessage,
  1491.     DWORD *_pdwStubPhase);
  1492.  
  1493.  
  1494.  
  1495. #endif     /* __IMediaPosition_INTERFACE_DEFINED__ */
  1496.  
  1497.  
  1498. #ifndef __IBasicAudio_INTERFACE_DEFINED__
  1499. #define __IBasicAudio_INTERFACE_DEFINED__
  1500.  
  1501. /* interface IBasicAudio */
  1502. /* [object][dual][oleautomation][helpstring][uuid] */ 
  1503.  
  1504.  
  1505. DEFINE_GUID(IID_IBasicAudio,0x56a868b3,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
  1506.  
  1507. #if defined(__cplusplus) && !defined(CINTERFACE)
  1508.     
  1509.     MIDL_INTERFACE("56a868b3-0ad4-11ce-b03a-0020af0ba770")
  1510.     IBasicAudio : public IDispatch
  1511.     {
  1512.     public:
  1513.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Volume( 
  1514.             /* [in] */ long lVolume) = 0;
  1515.         
  1516.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Volume( 
  1517.             /* [retval][out] */ long *plVolume) = 0;
  1518.         
  1519.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Balance( 
  1520.             /* [in] */ long lBalance) = 0;
  1521.         
  1522.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Balance( 
  1523.             /* [retval][out] */ long *plBalance) = 0;
  1524.         
  1525.     };
  1526.     
  1527. #else     /* C style interface */
  1528.  
  1529.     typedef struct IBasicAudioVtbl
  1530.     {
  1531.         BEGIN_INTERFACE
  1532.         
  1533.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1534.             IBasicAudio * This,
  1535.             /* [in] */ REFIID riid,
  1536.             /* [iid_is][out] */ void **ppvObject);
  1537.         
  1538.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1539.             IBasicAudio * This);
  1540.         
  1541.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1542.             IBasicAudio * This);
  1543.         
  1544.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  1545.             IBasicAudio * This,
  1546.             /* [out] */ UINT *pctinfo);
  1547.         
  1548.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  1549.             IBasicAudio * This,
  1550.             /* [in] */ UINT iTInfo,
  1551.             /* [in] */ LCID lcid,
  1552.             /* [out] */ ITypeInfo **ppTInfo);
  1553.         
  1554.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  1555.             IBasicAudio * This,
  1556.             /* [in] */ REFIID riid,
  1557.             /* [size_is][in] */ LPOLESTR *rgszNames,
  1558.             /* [in] */ UINT cNames,
  1559.             /* [in] */ LCID lcid,
  1560.             /* [size_is][out] */ DISPID *rgDispId);
  1561.         
  1562.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  1563.             IBasicAudio * This,
  1564.             /* [in] */ DISPID dispIdMember,
  1565.             /* [in] */ REFIID riid,
  1566.             /* [in] */ LCID lcid,
  1567.             /* [in] */ WORD wFlags,
  1568.             /* [out][in] */ DISPPARAMS *pDispParams,
  1569.             /* [out] */ VARIANT *pVarResult,
  1570.             /* [out] */ EXCEPINFO *pExcepInfo,
  1571.             /* [out] */ UINT *puArgErr);
  1572.         
  1573.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Volume )( 
  1574.             IBasicAudio * This,
  1575.             /* [in] */ long lVolume);
  1576.         
  1577.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Volume )( 
  1578.             IBasicAudio * This,
  1579.             /* [retval][out] */ long *plVolume);
  1580.         
  1581.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Balance )( 
  1582.             IBasicAudio * This,
  1583.             /* [in] */ long lBalance);
  1584.         
  1585.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Balance )( 
  1586.             IBasicAudio * This,
  1587.             /* [retval][out] */ long *plBalance);
  1588.         
  1589.         END_INTERFACE
  1590.     } IBasicAudioVtbl;
  1591.  
  1592.     interface IBasicAudio
  1593.     {
  1594.         CONST_VTBL struct IBasicAudioVtbl *lpVtbl;
  1595.     };
  1596.  
  1597.     
  1598.  
  1599. #ifdef COBJMACROS
  1600.  
  1601.  
  1602. #define IBasicAudio_QueryInterface(This,riid,ppvObject)    \
  1603.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1604.  
  1605. #define IBasicAudio_AddRef(This)    \
  1606.     (This)->lpVtbl -> AddRef(This)
  1607.  
  1608. #define IBasicAudio_Release(This)    \
  1609.     (This)->lpVtbl -> Release(This)
  1610.  
  1611.  
  1612. #define IBasicAudio_GetTypeInfoCount(This,pctinfo)    \
  1613.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1614.  
  1615. #define IBasicAudio_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  1616.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1617.  
  1618. #define IBasicAudio_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  1619.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1620.  
  1621. #define IBasicAudio_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  1622.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1623.  
  1624.  
  1625. #define IBasicAudio_put_Volume(This,lVolume)    \
  1626.     (This)->lpVtbl -> put_Volume(This,lVolume)
  1627.  
  1628. #define IBasicAudio_get_Volume(This,plVolume)    \
  1629.     (This)->lpVtbl -> get_Volume(This,plVolume)
  1630.  
  1631. #define IBasicAudio_put_Balance(This,lBalance)    \
  1632.     (This)->lpVtbl -> put_Balance(This,lBalance)
  1633.  
  1634. #define IBasicAudio_get_Balance(This,plBalance)    \
  1635.     (This)->lpVtbl -> get_Balance(This,plBalance)
  1636.  
  1637. #endif /* COBJMACROS */
  1638.  
  1639.  
  1640. #endif     /* C style interface */
  1641.  
  1642.  
  1643.  
  1644. /* [propput] */ HRESULT STDMETHODCALLTYPE IBasicAudio_put_Volume_Proxy( 
  1645.     IBasicAudio * This,
  1646.     /* [in] */ long lVolume);
  1647.  
  1648.  
  1649. void __RPC_STUB IBasicAudio_put_Volume_Stub(
  1650.     IRpcStubBuffer *This,
  1651.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1652.     PRPC_MESSAGE _pRpcMessage,
  1653.     DWORD *_pdwStubPhase);
  1654.  
  1655.  
  1656. /* [propget] */ HRESULT STDMETHODCALLTYPE IBasicAudio_get_Volume_Proxy( 
  1657.     IBasicAudio * This,
  1658.     /* [retval][out] */ long *plVolume);
  1659.  
  1660.  
  1661. void __RPC_STUB IBasicAudio_get_Volume_Stub(
  1662.     IRpcStubBuffer *This,
  1663.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1664.     PRPC_MESSAGE _pRpcMessage,
  1665.     DWORD *_pdwStubPhase);
  1666.  
  1667.  
  1668. /* [propput] */ HRESULT STDMETHODCALLTYPE IBasicAudio_put_Balance_Proxy( 
  1669.     IBasicAudio * This,
  1670.     /* [in] */ long lBalance);
  1671.  
  1672.  
  1673. void __RPC_STUB IBasicAudio_put_Balance_Stub(
  1674.     IRpcStubBuffer *This,
  1675.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1676.     PRPC_MESSAGE _pRpcMessage,
  1677.     DWORD *_pdwStubPhase);
  1678.  
  1679.  
  1680. /* [propget] */ HRESULT STDMETHODCALLTYPE IBasicAudio_get_Balance_Proxy( 
  1681.     IBasicAudio * This,
  1682.     /* [retval][out] */ long *plBalance);
  1683.  
  1684.  
  1685. void __RPC_STUB IBasicAudio_get_Balance_Stub(
  1686.     IRpcStubBuffer *This,
  1687.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1688.     PRPC_MESSAGE _pRpcMessage,
  1689.     DWORD *_pdwStubPhase);
  1690.  
  1691.  
  1692.  
  1693. #endif     /* __IBasicAudio_INTERFACE_DEFINED__ */
  1694.  
  1695.  
  1696. #ifndef __IVideoWindow_INTERFACE_DEFINED__
  1697. #define __IVideoWindow_INTERFACE_DEFINED__
  1698.  
  1699. /* interface IVideoWindow */
  1700. /* [object][dual][oleautomation][helpstring][uuid] */ 
  1701.  
  1702.  
  1703. DEFINE_GUID(IID_IVideoWindow,0x56a868b4,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
  1704.  
  1705. #if defined(__cplusplus) && !defined(CINTERFACE)
  1706.     
  1707.     MIDL_INTERFACE("56a868b4-0ad4-11ce-b03a-0020af0ba770")
  1708.     IVideoWindow : public IDispatch
  1709.     {
  1710.     public:
  1711.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Caption( 
  1712.             /* [in] */ BSTR strCaption) = 0;
  1713.         
  1714.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Caption( 
  1715.             /* [retval][out] */ BSTR *strCaption) = 0;
  1716.         
  1717.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_WindowStyle( 
  1718.             /* [in] */ long WindowStyle) = 0;
  1719.         
  1720.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_WindowStyle( 
  1721.             /* [retval][out] */ long *WindowStyle) = 0;
  1722.         
  1723.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_WindowStyleEx( 
  1724.             /* [in] */ long WindowStyleEx) = 0;
  1725.         
  1726.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_WindowStyleEx( 
  1727.             /* [retval][out] */ long *WindowStyleEx) = 0;
  1728.         
  1729.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AutoShow( 
  1730.             /* [in] */ long AutoShow) = 0;
  1731.         
  1732.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AutoShow( 
  1733.             /* [retval][out] */ long *AutoShow) = 0;
  1734.         
  1735.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_WindowState( 
  1736.             /* [in] */ long WindowState) = 0;
  1737.         
  1738.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_WindowState( 
  1739.             /* [retval][out] */ long *WindowState) = 0;
  1740.         
  1741.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_BackgroundPalette( 
  1742.             /* [in] */ long BackgroundPalette) = 0;
  1743.         
  1744.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BackgroundPalette( 
  1745.             /* [retval][out] */ long *pBackgroundPalette) = 0;
  1746.         
  1747.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Visible( 
  1748.             /* [in] */ long Visible) = 0;
  1749.         
  1750.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Visible( 
  1751.             /* [retval][out] */ long *pVisible) = 0;
  1752.         
  1753.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Left( 
  1754.             /* [in] */ long Left) = 0;
  1755.         
  1756.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Left( 
  1757.             /* [retval][out] */ long *pLeft) = 0;
  1758.         
  1759.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Width( 
  1760.             /* [in] */ long Width) = 0;
  1761.         
  1762.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Width( 
  1763.             /* [retval][out] */ long *pWidth) = 0;
  1764.         
  1765.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Top( 
  1766.             /* [in] */ long Top) = 0;
  1767.         
  1768.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Top( 
  1769.             /* [retval][out] */ long *pTop) = 0;
  1770.         
  1771.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Height( 
  1772.             /* [in] */ long Height) = 0;
  1773.         
  1774.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Height( 
  1775.             /* [retval][out] */ long *pHeight) = 0;
  1776.         
  1777.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Owner( 
  1778.             /* [in] */ OAHWND Owner) = 0;
  1779.         
  1780.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Owner( 
  1781.             /* [retval][out] */ OAHWND *Owner) = 0;
  1782.         
  1783.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_MessageDrain( 
  1784.             /* [in] */ OAHWND Drain) = 0;
  1785.         
  1786.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MessageDrain( 
  1787.             /* [retval][out] */ OAHWND *Drain) = 0;
  1788.         
  1789.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BorderColor( 
  1790.             /* [retval][out] */ long *Color) = 0;
  1791.         
  1792.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_BorderColor( 
  1793.             /* [in] */ long Color) = 0;
  1794.         
  1795.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FullScreenMode( 
  1796.             /* [retval][out] */ long *FullScreenMode) = 0;
  1797.         
  1798.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_FullScreenMode( 
  1799.             /* [in] */ long FullScreenMode) = 0;
  1800.         
  1801.         virtual HRESULT STDMETHODCALLTYPE SetWindowForeground( 
  1802.             /* [in] */ long Focus) = 0;
  1803.         
  1804.         virtual HRESULT STDMETHODCALLTYPE NotifyOwnerMessage( 
  1805.             /* [in] */ OAHWND hwnd,
  1806.             /* [in] */ long uMsg,
  1807.             /* [in] */ LONG_PTR wParam,
  1808.             /* [in] */ LONG_PTR lParam) = 0;
  1809.         
  1810.         virtual HRESULT STDMETHODCALLTYPE SetWindowPosition( 
  1811.             /* [in] */ long Left,
  1812.             /* [in] */ long Top,
  1813.             /* [in] */ long Width,
  1814.             /* [in] */ long Height) = 0;
  1815.         
  1816.         virtual HRESULT STDMETHODCALLTYPE GetWindowPosition( 
  1817.             /* [out] */ long *pLeft,
  1818.             /* [out] */ long *pTop,
  1819.             /* [out] */ long *pWidth,
  1820.             /* [out] */ long *pHeight) = 0;
  1821.         
  1822.         virtual HRESULT STDMETHODCALLTYPE GetMinIdealImageSize( 
  1823.             /* [out] */ long *pWidth,
  1824.             /* [out] */ long *pHeight) = 0;
  1825.         
  1826.         virtual HRESULT STDMETHODCALLTYPE GetMaxIdealImageSize( 
  1827.             /* [out] */ long *pWidth,
  1828.             /* [out] */ long *pHeight) = 0;
  1829.         
  1830.         virtual HRESULT STDMETHODCALLTYPE GetRestorePosition( 
  1831.             /* [out] */ long *pLeft,
  1832.             /* [out] */ long *pTop,
  1833.             /* [out] */ long *pWidth,
  1834.             /* [out] */ long *pHeight) = 0;
  1835.         
  1836.         virtual HRESULT STDMETHODCALLTYPE HideCursor( 
  1837.             /* [in] */ long HideCursor) = 0;
  1838.         
  1839.         virtual HRESULT STDMETHODCALLTYPE IsCursorHidden( 
  1840.             /* [out] */ long *CursorHidden) = 0;
  1841.         
  1842.     };
  1843.     
  1844. #else     /* C style interface */
  1845.  
  1846.     typedef struct IVideoWindowVtbl
  1847.     {
  1848.         BEGIN_INTERFACE
  1849.         
  1850.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1851.             IVideoWindow * This,
  1852.             /* [in] */ REFIID riid,
  1853.             /* [iid_is][out] */ void **ppvObject);
  1854.         
  1855.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1856.             IVideoWindow * This);
  1857.         
  1858.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1859.             IVideoWindow * This);
  1860.         
  1861.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  1862.             IVideoWindow * This,
  1863.             /* [out] */ UINT *pctinfo);
  1864.         
  1865.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  1866.             IVideoWindow * This,
  1867.             /* [in] */ UINT iTInfo,
  1868.             /* [in] */ LCID lcid,
  1869.             /* [out] */ ITypeInfo **ppTInfo);
  1870.         
  1871.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  1872.             IVideoWindow * This,
  1873.             /* [in] */ REFIID riid,
  1874.             /* [size_is][in] */ LPOLESTR *rgszNames,
  1875.             /* [in] */ UINT cNames,
  1876.             /* [in] */ LCID lcid,
  1877.             /* [size_is][out] */ DISPID *rgDispId);
  1878.         
  1879.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  1880.             IVideoWindow * This,
  1881.             /* [in] */ DISPID dispIdMember,
  1882.             /* [in] */ REFIID riid,
  1883.             /* [in] */ LCID lcid,
  1884.             /* [in] */ WORD wFlags,
  1885.             /* [out][in] */ DISPPARAMS *pDispParams,
  1886.             /* [out] */ VARIANT *pVarResult,
  1887.             /* [out] */ EXCEPINFO *pExcepInfo,
  1888.             /* [out] */ UINT *puArgErr);
  1889.         
  1890.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Caption )( 
  1891.             IVideoWindow * This,
  1892.             /* [in] */ BSTR strCaption);
  1893.         
  1894.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Caption )( 
  1895.             IVideoWindow * This,
  1896.             /* [retval][out] */ BSTR *strCaption);
  1897.         
  1898.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_WindowStyle )( 
  1899.             IVideoWindow * This,
  1900.             /* [in] */ long WindowStyle);
  1901.         
  1902.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_WindowStyle )( 
  1903.             IVideoWindow * This,
  1904.             /* [retval][out] */ long *WindowStyle);
  1905.         
  1906.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_WindowStyleEx )( 
  1907.             IVideoWindow * This,
  1908.             /* [in] */ long WindowStyleEx);
  1909.         
  1910.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_WindowStyleEx )( 
  1911.             IVideoWindow * This,
  1912.             /* [retval][out] */ long *WindowStyleEx);
  1913.         
  1914.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AutoShow )( 
  1915.             IVideoWindow * This,
  1916.             /* [in] */ long AutoShow);
  1917.         
  1918.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AutoShow )( 
  1919.             IVideoWindow * This,
  1920.             /* [retval][out] */ long *AutoShow);
  1921.         
  1922.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_WindowState )( 
  1923.             IVideoWindow * This,
  1924.             /* [in] */ long WindowState);
  1925.         
  1926.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_WindowState )( 
  1927.             IVideoWindow * This,
  1928.             /* [retval][out] */ long *WindowState);
  1929.         
  1930.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_BackgroundPalette )( 
  1931.             IVideoWindow * This,
  1932.             /* [in] */ long BackgroundPalette);
  1933.         
  1934.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BackgroundPalette )( 
  1935.             IVideoWindow * This,
  1936.             /* [retval][out] */ long *pBackgroundPalette);
  1937.         
  1938.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
  1939.             IVideoWindow * This,
  1940.             /* [in] */ long Visible);
  1941.         
  1942.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
  1943.             IVideoWindow * This,
  1944.             /* [retval][out] */ long *pVisible);
  1945.         
  1946.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Left )( 
  1947.             IVideoWindow * This,
  1948.             /* [in] */ long Left);
  1949.         
  1950.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Left )( 
  1951.             IVideoWindow * This,
  1952.             /* [retval][out] */ long *pLeft);
  1953.         
  1954.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Width )( 
  1955.             IVideoWindow * This,
  1956.             /* [in] */ long Width);
  1957.         
  1958.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Width )( 
  1959.             IVideoWindow * This,
  1960.             /* [retval][out] */ long *pWidth);
  1961.         
  1962.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Top )( 
  1963.             IVideoWindow * This,
  1964.             /* [in] */ long Top);
  1965.         
  1966.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Top )( 
  1967.             IVideoWindow * This,
  1968.             /* [retval][out] */ long *pTop);
  1969.         
  1970.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Height )( 
  1971.             IVideoWindow * This,
  1972.             /* [in] */ long Height);
  1973.         
  1974.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Height )( 
  1975.             IVideoWindow * This,
  1976.             /* [retval][out] */ long *pHeight);
  1977.         
  1978.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Owner )( 
  1979.             IVideoWindow * This,
  1980.             /* [in] */ OAHWND Owner);
  1981.         
  1982.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Owner )( 
  1983.             IVideoWindow * This,
  1984.             /* [retval][out] */ OAHWND *Owner);
  1985.         
  1986.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MessageDrain )( 
  1987.             IVideoWindow * This,
  1988.             /* [in] */ OAHWND Drain);
  1989.         
  1990.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MessageDrain )( 
  1991.             IVideoWindow * This,
  1992.             /* [retval][out] */ OAHWND *Drain);
  1993.         
  1994.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BorderColor )( 
  1995.             IVideoWindow * This,
  1996.             /* [retval][out] */ long *Color);
  1997.         
  1998.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_BorderColor )( 
  1999.             IVideoWindow * This,
  2000.             /* [in] */ long Color);
  2001.         
  2002.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FullScreenMode )( 
  2003.             IVideoWindow * This,
  2004.             /* [retval][out] */ long *FullScreenMode);
  2005.         
  2006.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_FullScreenMode )( 
  2007.             IVideoWindow * This,
  2008.             /* [in] */ long FullScreenMode);
  2009.         
  2010.         HRESULT ( STDMETHODCALLTYPE *SetWindowForeground )( 
  2011.             IVideoWindow * This,
  2012.             /* [in] */ long Focus);
  2013.         
  2014.         HRESULT ( STDMETHODCALLTYPE *NotifyOwnerMessage )( 
  2015.             IVideoWindow * This,
  2016.             /* [in] */ OAHWND hwnd,
  2017.             /* [in] */ long uMsg,
  2018.             /* [in] */ LONG_PTR wParam,
  2019.             /* [in] */ LONG_PTR lParam);
  2020.         
  2021.         HRESULT ( STDMETHODCALLTYPE *SetWindowPosition )( 
  2022.             IVideoWindow * This,
  2023.             /* [in] */ long Left,
  2024.             /* [in] */ long Top,
  2025.             /* [in] */ long Width,
  2026.             /* [in] */ long Height);
  2027.         
  2028.         HRESULT ( STDMETHODCALLTYPE *GetWindowPosition )( 
  2029.             IVideoWindow * This,
  2030.             /* [out] */ long *pLeft,
  2031.             /* [out] */ long *pTop,
  2032.             /* [out] */ long *pWidth,
  2033.             /* [out] */ long *pHeight);
  2034.         
  2035.         HRESULT ( STDMETHODCALLTYPE *GetMinIdealImageSize )( 
  2036.             IVideoWindow * This,
  2037.             /* [out] */ long *pWidth,
  2038.             /* [out] */ long *pHeight);
  2039.         
  2040.         HRESULT ( STDMETHODCALLTYPE *GetMaxIdealImageSize )( 
  2041.             IVideoWindow * This,
  2042.             /* [out] */ long *pWidth,
  2043.             /* [out] */ long *pHeight);
  2044.         
  2045.         HRESULT ( STDMETHODCALLTYPE *GetRestorePosition )( 
  2046.             IVideoWindow * This,
  2047.             /* [out] */ long *pLeft,
  2048.             /* [out] */ long *pTop,
  2049.             /* [out] */ long *pWidth,
  2050.             /* [out] */ long *pHeight);
  2051.         
  2052.         HRESULT ( STDMETHODCALLTYPE *HideCursor )( 
  2053.             IVideoWindow * This,
  2054.             /* [in] */ long HideCursor);
  2055.         
  2056.         HRESULT ( STDMETHODCALLTYPE *IsCursorHidden )( 
  2057.             IVideoWindow * This,
  2058.             /* [out] */ long *CursorHidden);
  2059.         
  2060.         END_INTERFACE
  2061.     } IVideoWindowVtbl;
  2062.  
  2063.     interface IVideoWindow
  2064.     {
  2065.         CONST_VTBL struct IVideoWindowVtbl *lpVtbl;
  2066.     };
  2067.  
  2068.     
  2069.  
  2070. #ifdef COBJMACROS
  2071.  
  2072.  
  2073. #define IVideoWindow_QueryInterface(This,riid,ppvObject)    \
  2074.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2075.  
  2076. #define IVideoWindow_AddRef(This)    \
  2077.     (This)->lpVtbl -> AddRef(This)
  2078.  
  2079. #define IVideoWindow_Release(This)    \
  2080.     (This)->lpVtbl -> Release(This)
  2081.  
  2082.  
  2083. #define IVideoWindow_GetTypeInfoCount(This,pctinfo)    \
  2084.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  2085.  
  2086. #define IVideoWindow_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  2087.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2088.  
  2089. #define IVideoWindow_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  2090.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2091.  
  2092. #define IVideoWindow_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  2093.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2094.  
  2095.  
  2096. #define IVideoWindow_put_Caption(This,strCaption)    \
  2097.     (This)->lpVtbl -> put_Caption(This,strCaption)
  2098.  
  2099. #define IVideoWindow_get_Caption(This,strCaption)    \
  2100.     (This)->lpVtbl -> get_Caption(This,strCaption)
  2101.  
  2102. #define IVideoWindow_put_WindowStyle(This,WindowStyle)    \
  2103.     (This)->lpVtbl -> put_WindowStyle(This,WindowStyle)
  2104.  
  2105. #define IVideoWindow_get_WindowStyle(This,WindowStyle)    \
  2106.     (This)->lpVtbl -> get_WindowStyle(This,WindowStyle)
  2107.  
  2108. #define IVideoWindow_put_WindowStyleEx(This,WindowStyleEx)    \
  2109.     (This)->lpVtbl -> put_WindowStyleEx(This,WindowStyleEx)
  2110.  
  2111. #define IVideoWindow_get_WindowStyleEx(This,WindowStyleEx)    \
  2112.     (This)->lpVtbl -> get_WindowStyleEx(This,WindowStyleEx)
  2113.  
  2114. #define IVideoWindow_put_AutoShow(This,AutoShow)    \
  2115.     (This)->lpVtbl -> put_AutoShow(This,AutoShow)
  2116.  
  2117. #define IVideoWindow_get_AutoShow(This,AutoShow)    \
  2118.     (This)->lpVtbl -> get_AutoShow(This,AutoShow)
  2119.  
  2120. #define IVideoWindow_put_WindowState(This,WindowState)    \
  2121.     (This)->lpVtbl -> put_WindowState(This,WindowState)
  2122.  
  2123. #define IVideoWindow_get_WindowState(This,WindowState)    \
  2124.     (This)->lpVtbl -> get_WindowState(This,WindowState)
  2125.  
  2126. #define IVideoWindow_put_BackgroundPalette(This,BackgroundPalette)    \
  2127.     (This)->lpVtbl -> put_BackgroundPalette(This,BackgroundPalette)
  2128.  
  2129. #define IVideoWindow_get_BackgroundPalette(This,pBackgroundPalette)    \
  2130.     (This)->lpVtbl -> get_BackgroundPalette(This,pBackgroundPalette)
  2131.  
  2132. #define IVideoWindow_put_Visible(This,Visible)    \
  2133.     (This)->lpVtbl -> put_Visible(This,Visible)
  2134.  
  2135. #define IVideoWindow_get_Visible(This,pVisible)    \
  2136.     (This)->lpVtbl -> get_Visible(This,pVisible)
  2137.  
  2138. #define IVideoWindow_put_Left(This,Left)    \
  2139.     (This)->lpVtbl -> put_Left(This,Left)
  2140.  
  2141. #define IVideoWindow_get_Left(This,pLeft)    \
  2142.     (This)->lpVtbl -> get_Left(This,pLeft)
  2143.  
  2144. #define IVideoWindow_put_Width(This,Width)    \
  2145.     (This)->lpVtbl -> put_Width(This,Width)
  2146.  
  2147. #define IVideoWindow_get_Width(This,pWidth)    \
  2148.     (This)->lpVtbl -> get_Width(This,pWidth)
  2149.  
  2150. #define IVideoWindow_put_Top(This,Top)    \
  2151.     (This)->lpVtbl -> put_Top(This,Top)
  2152.  
  2153. #define IVideoWindow_get_Top(This,pTop)    \
  2154.     (This)->lpVtbl -> get_Top(This,pTop)
  2155.  
  2156. #define IVideoWindow_put_Height(This,Height)    \
  2157.     (This)->lpVtbl -> put_Height(This,Height)
  2158.  
  2159. #define IVideoWindow_get_Height(This,pHeight)    \
  2160.     (This)->lpVtbl -> get_Height(This,pHeight)
  2161.  
  2162. #define IVideoWindow_put_Owner(This,Owner)    \
  2163.     (This)->lpVtbl -> put_Owner(This,Owner)
  2164.  
  2165. #define IVideoWindow_get_Owner(This,Owner)    \
  2166.     (This)->lpVtbl -> get_Owner(This,Owner)
  2167.  
  2168. #define IVideoWindow_put_MessageDrain(This,Drain)    \
  2169.     (This)->lpVtbl -> put_MessageDrain(This,Drain)
  2170.  
  2171. #define IVideoWindow_get_MessageDrain(This,Drain)    \
  2172.     (This)->lpVtbl -> get_MessageDrain(This,Drain)
  2173.  
  2174. #define IVideoWindow_get_BorderColor(This,Color)    \
  2175.     (This)->lpVtbl -> get_BorderColor(This,Color)
  2176.  
  2177. #define IVideoWindow_put_BorderColor(This,Color)    \
  2178.     (This)->lpVtbl -> put_BorderColor(This,Color)
  2179.  
  2180. #define IVideoWindow_get_FullScreenMode(This,FullScreenMode)    \
  2181.     (This)->lpVtbl -> get_FullScreenMode(This,FullScreenMode)
  2182.  
  2183. #define IVideoWindow_put_FullScreenMode(This,FullScreenMode)    \
  2184.     (This)->lpVtbl -> put_FullScreenMode(This,FullScreenMode)
  2185.  
  2186. #define IVideoWindow_SetWindowForeground(This,Focus)    \
  2187.     (This)->lpVtbl -> SetWindowForeground(This,Focus)
  2188.  
  2189. #define IVideoWindow_NotifyOwnerMessage(This,hwnd,uMsg,wParam,lParam)    \
  2190.     (This)->lpVtbl -> NotifyOwnerMessage(This,hwnd,uMsg,wParam,lParam)
  2191.  
  2192. #define IVideoWindow_SetWindowPosition(This,Left,Top,Width,Height)    \
  2193.     (This)->lpVtbl -> SetWindowPosition(This,Left,Top,Width,Height)
  2194.  
  2195. #define IVideoWindow_GetWindowPosition(This,pLeft,pTop,pWidth,pHeight)    \
  2196.     (This)->lpVtbl -> GetWindowPosition(This,pLeft,pTop,pWidth,pHeight)
  2197.  
  2198. #define IVideoWindow_GetMinIdealImageSize(This,pWidth,pHeight)    \
  2199.     (This)->lpVtbl -> GetMinIdealImageSize(This,pWidth,pHeight)
  2200.  
  2201. #define IVideoWindow_GetMaxIdealImageSize(This,pWidth,pHeight)    \
  2202.     (This)->lpVtbl -> GetMaxIdealImageSize(This,pWidth,pHeight)
  2203.  
  2204. #define IVideoWindow_GetRestorePosition(This,pLeft,pTop,pWidth,pHeight)    \
  2205.     (This)->lpVtbl -> GetRestorePosition(This,pLeft,pTop,pWidth,pHeight)
  2206.  
  2207. #define IVideoWindow_HideCursor(This,HideCursor)    \
  2208.     (This)->lpVtbl -> HideCursor(This,HideCursor)
  2209.  
  2210. #define IVideoWindow_IsCursorHidden(This,CursorHidden)    \
  2211.     (This)->lpVtbl -> IsCursorHidden(This,CursorHidden)
  2212.  
  2213. #endif /* COBJMACROS */
  2214.  
  2215.  
  2216. #endif     /* C style interface */
  2217.  
  2218.  
  2219.  
  2220. /* [propput] */ HRESULT STDMETHODCALLTYPE IVideoWindow_put_Caption_Proxy( 
  2221.     IVideoWindow * This,
  2222.     /* [in] */ BSTR strCaption);
  2223.  
  2224.  
  2225. void __RPC_STUB IVideoWindow_put_Caption_Stub(
  2226.     IRpcStubBuffer *This,
  2227.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2228.     PRPC_MESSAGE _pRpcMessage,
  2229.     DWORD *_pdwStubPhase);
  2230.  
  2231.  
  2232. /* [propget] */ HRESULT STDMETHODCALLTYPE IVideoWindow_get_Caption_Proxy( 
  2233.     IVideoWindow * This,
  2234.     /* [retval][out] */ BSTR *strCaption);
  2235.  
  2236.  
  2237. void __RPC_STUB IVideoWindow_get_Caption_Stub(
  2238.     IRpcStubBuffer *This,
  2239.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2240.     PRPC_MESSAGE _pRpcMessage,
  2241.     DWORD *_pdwStubPhase);
  2242.  
  2243.  
  2244. /* [propput] */ HRESULT STDMETHODCALLTYPE IVideoWindow_put_WindowStyle_Proxy( 
  2245.     IVideoWindow * This,
  2246.     /* [in] */ long WindowStyle);
  2247.  
  2248.  
  2249. void __RPC_STUB IVideoWindow_put_WindowStyle_Stub(
  2250.     IRpcStubBuffer *This,
  2251.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2252.     PRPC_MESSAGE _pRpcMessage,
  2253.     DWORD *_pdwStubPhase);
  2254.  
  2255.  
  2256. /* [propget] */ HRESULT STDMETHODCALLTYPE IVideoWindow_get_WindowStyle_Proxy( 
  2257.     IVideoWindow * This,
  2258.     /* [retval][out] */ long *WindowStyle);
  2259.  
  2260.  
  2261. void __RPC_STUB IVideoWindow_get_WindowStyle_Stub(
  2262.     IRpcStubBuffer *This,
  2263.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2264.     PRPC_MESSAGE _pRpcMessage,
  2265.     DWORD *_pdwStubPhase);
  2266.  
  2267.  
  2268. /* [propput] */ HRESULT STDMETHODCALLTYPE IVideoWindow_put_WindowStyleEx_Proxy( 
  2269.     IVideoWindow * This,
  2270.     /* [in] */ long WindowStyleEx);
  2271.  
  2272.  
  2273. void __RPC_STUB IVideoWindow_put_WindowStyleEx_Stub(
  2274.     IRpcStubBuffer *This,
  2275.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2276.     PRPC_MESSAGE _pRpcMessage,
  2277.     DWORD *_pdwStubPhase);
  2278.  
  2279.  
  2280. /* [propget] */ HRESULT STDMETHODCALLTYPE IVideoWindow_get_WindowStyleEx_Proxy( 
  2281.     IVideoWindow * This,
  2282.     /* [retval][out] */ long *WindowStyleEx);
  2283.  
  2284.  
  2285. void __RPC_STUB IVideoWindow_get_WindowStyleEx_Stub(
  2286.     IRpcStubBuffer *This,
  2287.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2288.     PRPC_MESSAGE _pRpcMessage,
  2289.     DWORD *_pdwStubPhase);
  2290.  
  2291.  
  2292. /* [propput] */ HRESULT STDMETHODCALLTYPE IVideoWindow_put_AutoShow_Proxy( 
  2293.     IVideoWindow * This,
  2294.     /* [in] */ long AutoShow);
  2295.  
  2296.  
  2297. void __RPC_STUB IVideoWindow_put_AutoShow_Stub(
  2298.     IRpcStubBuffer *This,
  2299.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2300.     PRPC_MESSAGE _pRpcMessage,
  2301.     DWORD *_pdwStubPhase);
  2302.  
  2303.  
  2304. /* [propget] */ HRESULT STDMETHODCALLTYPE IVideoWindow_get_AutoShow_Proxy( 
  2305.     IVideoWindow * This,
  2306.     /* [retval][out] */ long *AutoShow);
  2307.  
  2308.  
  2309. void __RPC_STUB IVideoWindow_get_AutoShow_Stub(
  2310.     IRpcStubBuffer *This,
  2311.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2312.     PRPC_MESSAGE _pRpcMessage,
  2313.     DWORD *_pdwStubPhase);
  2314.  
  2315.  
  2316. /* [propput] */ HRESULT STDMETHODCALLTYPE IVideoWindow_put_WindowState_Proxy( 
  2317.     IVideoWindow * This,
  2318.     /* [in] */ long WindowState);
  2319.  
  2320.  
  2321. void __RPC_STUB IVideoWindow_put_WindowState_Stub(
  2322.     IRpcStubBuffer *This,
  2323.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2324.     PRPC_MESSAGE _pRpcMessage,
  2325.     DWORD *_pdwStubPhase);
  2326.  
  2327.  
  2328. /* [propget] */ HRESULT STDMETHODCALLTYPE IVideoWindow_get_WindowState_Proxy( 
  2329.     IVideoWindow * This,
  2330.     /* [retval][out] */ long *WindowState);
  2331.  
  2332.  
  2333. void __RPC_STUB IVideoWindow_get_WindowState_Stub(
  2334.     IRpcStubBuffer *This,
  2335.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2336.     PRPC_MESSAGE _pRpcMessage,
  2337.     DWORD *_pdwStubPhase);
  2338.  
  2339.  
  2340. /* [propput] */ HRESULT STDMETHODCALLTYPE IVideoWindow_put_BackgroundPalette_Proxy( 
  2341.     IVideoWindow * This,
  2342.     /* [in] */ long BackgroundPalette);
  2343.  
  2344.  
  2345. void __RPC_STUB IVideoWindow_put_BackgroundPalette_Stub(
  2346.     IRpcStubBuffer *This,
  2347.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2348.     PRPC_MESSAGE _pRpcMessage,
  2349.     DWORD *_pdwStubPhase);
  2350.  
  2351.  
  2352. /* [propget] */ HRESULT STDMETHODCALLTYPE IVideoWindow_get_BackgroundPalette_Proxy( 
  2353.     IVideoWindow * This,
  2354.     /* [retval][out] */ long *pBackgroundPalette);
  2355.  
  2356.  
  2357. void __RPC_STUB IVideoWindow_get_BackgroundPalette_Stub(
  2358.     IRpcStubBuffer *This,
  2359.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2360.     PRPC_MESSAGE _pRpcMessage,
  2361.     DWORD *_pdwStubPhase);
  2362.  
  2363.  
  2364. /* [propput] */ HRESULT STDMETHODCALLTYPE IVideoWindow_put_Visible_Proxy( 
  2365.     IVideoWindow * This,
  2366.     /* [in] */ long Visible);
  2367.  
  2368.  
  2369. void __RPC_STUB IVideoWindow_put_Visible_Stub(
  2370.     IRpcStubBuffer *This,
  2371.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2372.     PRPC_MESSAGE _pRpcMessage,
  2373.     DWORD *_pdwStubPhase);
  2374.  
  2375.  
  2376. /* [propget] */ HRESULT STDMETHODCALLTYPE IVideoWindow_get_Visible_Proxy( 
  2377.     IVideoWindow * This,
  2378.     /* [retval][out] */ long *pVisible);
  2379.  
  2380.  
  2381. void __RPC_STUB IVideoWindow_get_Visible_Stub(
  2382.     IRpcStubBuffer *This,
  2383.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2384.     PRPC_MESSAGE _pRpcMessage,
  2385.     DWORD *_pdwStubPhase);
  2386.  
  2387.  
  2388. /* [propput] */ HRESULT STDMETHODCALLTYPE IVideoWindow_put_Left_Proxy( 
  2389.     IVideoWindow * This,
  2390.     /* [in] */ long Left);
  2391.  
  2392.  
  2393. void __RPC_STUB IVideoWindow_put_Left_Stub(
  2394.     IRpcStubBuffer *This,
  2395.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2396.     PRPC_MESSAGE _pRpcMessage,
  2397.     DWORD *_pdwStubPhase);
  2398.  
  2399.  
  2400. /* [propget] */ HRESULT STDMETHODCALLTYPE IVideoWindow_get_Left_Proxy( 
  2401.     IVideoWindow * This,
  2402.     /* [retval][out] */ long *pLeft);
  2403.  
  2404.  
  2405. void __RPC_STUB IVideoWindow_get_Left_Stub(
  2406.     IRpcStubBuffer *This,
  2407.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2408.     PRPC_MESSAGE _pRpcMessage,
  2409.     DWORD *_pdwStubPhase);
  2410.  
  2411.  
  2412. /* [propput] */ HRESULT STDMETHODCALLTYPE IVideoWindow_put_Width_Proxy( 
  2413.     IVideoWindow * This,
  2414.     /* [in] */ long Width);
  2415.  
  2416.  
  2417. void __RPC_STUB IVideoWindow_put_Width_Stub(
  2418.     IRpcStubBuffer *This,
  2419.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2420.     PRPC_MESSAGE _pRpcMessage,
  2421.     DWORD *_pdwStubPhase);
  2422.  
  2423.  
  2424. /* [propget] */ HRESULT STDMETHODCALLTYPE IVideoWindow_get_Width_Proxy( 
  2425.     IVideoWindow * This,
  2426.     /* [retval][out] */ long *pWidth);
  2427.  
  2428.  
  2429. void __RPC_STUB IVideoWindow_get_Width_Stub(
  2430.     IRpcStubBuffer *This,
  2431.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2432.     PRPC_MESSAGE _pRpcMessage,
  2433.     DWORD *_pdwStubPhase);
  2434.  
  2435.  
  2436. /* [propput] */ HRESULT STDMETHODCALLTYPE IVideoWindow_put_Top_Proxy( 
  2437.     IVideoWindow * This,
  2438.     /* [in] */ long Top);
  2439.  
  2440.  
  2441. void __RPC_STUB IVideoWindow_put_Top_Stub(
  2442.     IRpcStubBuffer *This,
  2443.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2444.     PRPC_MESSAGE _pRpcMessage,
  2445.     DWORD *_pdwStubPhase);
  2446.  
  2447.  
  2448. /* [propget] */ HRESULT STDMETHODCALLTYPE IVideoWindow_get_Top_Proxy( 
  2449.     IVideoWindow * This,
  2450.     /* [retval][out] */ long *pTop);
  2451.  
  2452.  
  2453. void __RPC_STUB IVideoWindow_get_Top_Stub(
  2454.     IRpcStubBuffer *This,
  2455.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2456.     PRPC_MESSAGE _pRpcMessage,
  2457.     DWORD *_pdwStubPhase);
  2458.  
  2459.  
  2460. /* [propput] */ HRESULT STDMETHODCALLTYPE IVideoWindow_put_Height_Proxy( 
  2461.     IVideoWindow * This,
  2462.     /* [in] */ long Height);
  2463.  
  2464.  
  2465. void __RPC_STUB IVideoWindow_put_Height_Stub(
  2466.     IRpcStubBuffer *This,
  2467.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2468.     PRPC_MESSAGE _pRpcMessage,
  2469.     DWORD *_pdwStubPhase);
  2470.  
  2471.  
  2472. /* [propget] */ HRESULT STDMETHODCALLTYPE IVideoWindow_get_Height_Proxy( 
  2473.     IVideoWindow * This,
  2474.     /* [retval][out] */ long *pHeight);
  2475.  
  2476.  
  2477. void __RPC_STUB IVideoWindow_get_Height_Stub(
  2478.     IRpcStubBuffer *This,
  2479.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2480.     PRPC_MESSAGE _pRpcMessage,
  2481.     DWORD *_pdwStubPhase);
  2482.  
  2483.  
  2484. /* [propput] */ HRESULT STDMETHODCALLTYPE IVideoWindow_put_Owner_Proxy( 
  2485.     IVideoWindow * This,
  2486.     /* [in] */ OAHWND Owner);
  2487.  
  2488.  
  2489. void __RPC_STUB IVideoWindow_put_Owner_Stub(
  2490.     IRpcStubBuffer *This,
  2491.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2492.     PRPC_MESSAGE _pRpcMessage,
  2493.     DWORD *_pdwStubPhase);
  2494.  
  2495.  
  2496. /* [propget] */ HRESULT STDMETHODCALLTYPE IVideoWindow_get_Owner_Proxy( 
  2497.     IVideoWindow * This,
  2498.     /* [retval][out] */ OAHWND *Owner);
  2499.  
  2500.  
  2501. void __RPC_STUB IVideoWindow_get_Owner_Stub(
  2502.     IRpcStubBuffer *This,
  2503.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2504.     PRPC_MESSAGE _pRpcMessage,
  2505.     DWORD *_pdwStubPhase);
  2506.  
  2507.  
  2508. /* [propput] */ HRESULT STDMETHODCALLTYPE IVideoWindow_put_MessageDrain_Proxy( 
  2509.     IVideoWindow * This,
  2510.     /* [in] */ OAHWND Drain);
  2511.  
  2512.  
  2513. void __RPC_STUB IVideoWindow_put_MessageDrain_Stub(
  2514.     IRpcStubBuffer *This,
  2515.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2516.     PRPC_MESSAGE _pRpcMessage,
  2517.     DWORD *_pdwStubPhase);
  2518.  
  2519.  
  2520. /* [propget] */ HRESULT STDMETHODCALLTYPE IVideoWindow_get_MessageDrain_Proxy( 
  2521.     IVideoWindow * This,
  2522.     /* [retval][out] */ OAHWND *Drain);
  2523.  
  2524.  
  2525. void __RPC_STUB IVideoWindow_get_MessageDrain_Stub(
  2526.     IRpcStubBuffer *This,
  2527.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2528.     PRPC_MESSAGE _pRpcMessage,
  2529.     DWORD *_pdwStubPhase);
  2530.  
  2531.  
  2532. /* [propget] */ HRESULT STDMETHODCALLTYPE IVideoWindow_get_BorderColor_Proxy( 
  2533.     IVideoWindow * This,
  2534.     /* [retval][out] */ long *Color);
  2535.  
  2536.  
  2537. void __RPC_STUB IVideoWindow_get_BorderColor_Stub(
  2538.     IRpcStubBuffer *This,
  2539.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2540.     PRPC_MESSAGE _pRpcMessage,
  2541.     DWORD *_pdwStubPhase);
  2542.  
  2543.  
  2544. /* [propput] */ HRESULT STDMETHODCALLTYPE IVideoWindow_put_BorderColor_Proxy( 
  2545.     IVideoWindow * This,
  2546.     /* [in] */ long Color);
  2547.  
  2548.  
  2549. void __RPC_STUB IVideoWindow_put_BorderColor_Stub(
  2550.     IRpcStubBuffer *This,
  2551.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2552.     PRPC_MESSAGE _pRpcMessage,
  2553.     DWORD *_pdwStubPhase);
  2554.  
  2555.  
  2556. /* [propget] */ HRESULT STDMETHODCALLTYPE IVideoWindow_get_FullScreenMode_Proxy( 
  2557.     IVideoWindow * This,
  2558.     /* [retval][out] */ long *FullScreenMode);
  2559.  
  2560.  
  2561. void __RPC_STUB IVideoWindow_get_FullScreenMode_Stub(
  2562.     IRpcStubBuffer *This,
  2563.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2564.     PRPC_MESSAGE _pRpcMessage,
  2565.     DWORD *_pdwStubPhase);
  2566.  
  2567.  
  2568. /* [propput] */ HRESULT STDMETHODCALLTYPE IVideoWindow_put_FullScreenMode_Proxy( 
  2569.     IVideoWindow * This,
  2570.     /* [in] */ long FullScreenMode);
  2571.  
  2572.  
  2573. void __RPC_STUB IVideoWindow_put_FullScreenMode_Stub(
  2574.     IRpcStubBuffer *This,
  2575.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2576.     PRPC_MESSAGE _pRpcMessage,
  2577.     DWORD *_pdwStubPhase);
  2578.  
  2579.  
  2580. HRESULT STDMETHODCALLTYPE IVideoWindow_SetWindowForeground_Proxy( 
  2581.     IVideoWindow * This,
  2582.     /* [in] */ long Focus);
  2583.  
  2584.  
  2585. void __RPC_STUB IVideoWindow_SetWindowForeground_Stub(
  2586.     IRpcStubBuffer *This,
  2587.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2588.     PRPC_MESSAGE _pRpcMessage,
  2589.     DWORD *_pdwStubPhase);
  2590.  
  2591.  
  2592. HRESULT STDMETHODCALLTYPE IVideoWindow_NotifyOwnerMessage_Proxy( 
  2593.     IVideoWindow * This,
  2594.     /* [in] */ OAHWND hwnd,
  2595.     /* [in] */ long uMsg,
  2596.     /* [in] */ LONG_PTR wParam,
  2597.     /* [in] */ LONG_PTR lParam);
  2598.  
  2599.  
  2600. void __RPC_STUB IVideoWindow_NotifyOwnerMessage_Stub(
  2601.     IRpcStubBuffer *This,
  2602.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2603.     PRPC_MESSAGE _pRpcMessage,
  2604.     DWORD *_pdwStubPhase);
  2605.  
  2606.  
  2607. HRESULT STDMETHODCALLTYPE IVideoWindow_SetWindowPosition_Proxy( 
  2608.     IVideoWindow * This,
  2609.     /* [in] */ long Left,
  2610.     /* [in] */ long Top,
  2611.     /* [in] */ long Width,
  2612.     /* [in] */ long Height);
  2613.  
  2614.  
  2615. void __RPC_STUB IVideoWindow_SetWindowPosition_Stub(
  2616.     IRpcStubBuffer *This,
  2617.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2618.     PRPC_MESSAGE _pRpcMessage,
  2619.     DWORD *_pdwStubPhase);
  2620.  
  2621.  
  2622. HRESULT STDMETHODCALLTYPE IVideoWindow_GetWindowPosition_Proxy( 
  2623.     IVideoWindow * This,
  2624.     /* [out] */ long *pLeft,
  2625.     /* [out] */ long *pTop,
  2626.     /* [out] */ long *pWidth,
  2627.     /* [out] */ long *pHeight);
  2628.  
  2629.  
  2630. void __RPC_STUB IVideoWindow_GetWindowPosition_Stub(
  2631.     IRpcStubBuffer *This,
  2632.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2633.     PRPC_MESSAGE _pRpcMessage,
  2634.     DWORD *_pdwStubPhase);
  2635.  
  2636.  
  2637. HRESULT STDMETHODCALLTYPE IVideoWindow_GetMinIdealImageSize_Proxy( 
  2638.     IVideoWindow * This,
  2639.     /* [out] */ long *pWidth,
  2640.     /* [out] */ long *pHeight);
  2641.  
  2642.  
  2643. void __RPC_STUB IVideoWindow_GetMinIdealImageSize_Stub(
  2644.     IRpcStubBuffer *This,
  2645.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2646.     PRPC_MESSAGE _pRpcMessage,
  2647.     DWORD *_pdwStubPhase);
  2648.  
  2649.  
  2650. HRESULT STDMETHODCALLTYPE IVideoWindow_GetMaxIdealImageSize_Proxy( 
  2651.     IVideoWindow * This,
  2652.     /* [out] */ long *pWidth,
  2653.     /* [out] */ long *pHeight);
  2654.  
  2655.  
  2656. void __RPC_STUB IVideoWindow_GetMaxIdealImageSize_Stub(
  2657.     IRpcStubBuffer *This,
  2658.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2659.     PRPC_MESSAGE _pRpcMessage,
  2660.     DWORD *_pdwStubPhase);
  2661.  
  2662.  
  2663. HRESULT STDMETHODCALLTYPE IVideoWindow_GetRestorePosition_Proxy( 
  2664.     IVideoWindow * This,
  2665.     /* [out] */ long *pLeft,
  2666.     /* [out] */ long *pTop,
  2667.     /* [out] */ long *pWidth,
  2668.     /* [out] */ long *pHeight);
  2669.  
  2670.  
  2671. void __RPC_STUB IVideoWindow_GetRestorePosition_Stub(
  2672.     IRpcStubBuffer *This,
  2673.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2674.     PRPC_MESSAGE _pRpcMessage,
  2675.     DWORD *_pdwStubPhase);
  2676.  
  2677.  
  2678. HRESULT STDMETHODCALLTYPE IVideoWindow_HideCursor_Proxy( 
  2679.     IVideoWindow * This,
  2680.     /* [in] */ long HideCursor);
  2681.  
  2682.  
  2683. void __RPC_STUB IVideoWindow_HideCursor_Stub(
  2684.     IRpcStubBuffer *This,
  2685.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2686.     PRPC_MESSAGE _pRpcMessage,
  2687.     DWORD *_pdwStubPhase);
  2688.  
  2689.  
  2690. HRESULT STDMETHODCALLTYPE IVideoWindow_IsCursorHidden_Proxy( 
  2691.     IVideoWindow * This,
  2692.     /* [out] */ long *CursorHidden);
  2693.  
  2694.  
  2695. void __RPC_STUB IVideoWindow_IsCursorHidden_Stub(
  2696.     IRpcStubBuffer *This,
  2697.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2698.     PRPC_MESSAGE _pRpcMessage,
  2699.     DWORD *_pdwStubPhase);
  2700.  
  2701.  
  2702.  
  2703. #endif     /* __IVideoWindow_INTERFACE_DEFINED__ */
  2704.  
  2705.  
  2706. #ifndef __IBasicVideo_INTERFACE_DEFINED__
  2707. #define __IBasicVideo_INTERFACE_DEFINED__
  2708.  
  2709. /* interface IBasicVideo */
  2710. /* [object][dual][oleautomation][helpstring][uuid] */ 
  2711.  
  2712.  
  2713. DEFINE_GUID(IID_IBasicVideo,0x56a868b5,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
  2714.  
  2715. #if defined(__cplusplus) && !defined(CINTERFACE)
  2716.     
  2717.     MIDL_INTERFACE("56a868b5-0ad4-11ce-b03a-0020af0ba770")
  2718.     IBasicVideo : public IDispatch
  2719.     {
  2720.     public:
  2721.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AvgTimePerFrame( 
  2722.             /* [retval][out] */ REFTIME *pAvgTimePerFrame) = 0;
  2723.         
  2724.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BitRate( 
  2725.             /* [retval][out] */ long *pBitRate) = 0;
  2726.         
  2727.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BitErrorRate( 
  2728.             /* [retval][out] */ long *pBitErrorRate) = 0;
  2729.         
  2730.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_VideoWidth( 
  2731.             /* [retval][out] */ long *pVideoWidth) = 0;
  2732.         
  2733.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_VideoHeight( 
  2734.             /* [retval][out] */ long *pVideoHeight) = 0;
  2735.         
  2736.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_SourceLeft( 
  2737.             /* [in] */ long SourceLeft) = 0;
  2738.         
  2739.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SourceLeft( 
  2740.             /* [retval][out] */ long *pSourceLeft) = 0;
  2741.         
  2742.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_SourceWidth( 
  2743.             /* [in] */ long SourceWidth) = 0;
  2744.         
  2745.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SourceWidth( 
  2746.             /* [retval][out] */ long *pSourceWidth) = 0;
  2747.         
  2748.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_SourceTop( 
  2749.             /* [in] */ long SourceTop) = 0;
  2750.         
  2751.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SourceTop( 
  2752.             /* [retval][out] */ long *pSourceTop) = 0;
  2753.         
  2754.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_SourceHeight( 
  2755.             /* [in] */ long SourceHeight) = 0;
  2756.         
  2757.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SourceHeight( 
  2758.             /* [retval][out] */ long *pSourceHeight) = 0;
  2759.         
  2760.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DestinationLeft( 
  2761.             /* [in] */ long DestinationLeft) = 0;
  2762.         
  2763.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DestinationLeft( 
  2764.             /* [retval][out] */ long *pDestinationLeft) = 0;
  2765.         
  2766.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DestinationWidth( 
  2767.             /* [in] */ long DestinationWidth) = 0;
  2768.         
  2769.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DestinationWidth( 
  2770.             /* [retval][out] */ long *pDestinationWidth) = 0;
  2771.         
  2772.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DestinationTop( 
  2773.             /* [in] */ long DestinationTop) = 0;
  2774.         
  2775.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DestinationTop( 
  2776.             /* [retval][out] */ long *pDestinationTop) = 0;
  2777.         
  2778.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DestinationHeight( 
  2779.             /* [in] */ long DestinationHeight) = 0;
  2780.         
  2781.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DestinationHeight( 
  2782.             /* [retval][out] */ long *pDestinationHeight) = 0;
  2783.         
  2784.         virtual HRESULT STDMETHODCALLTYPE SetSourcePosition( 
  2785.             /* [in] */ long Left,
  2786.             /* [in] */ long Top,
  2787.             /* [in] */ long Width,
  2788.             /* [in] */ long Height) = 0;
  2789.         
  2790.         virtual HRESULT STDMETHODCALLTYPE GetSourcePosition( 
  2791.             /* [out] */ long *pLeft,
  2792.             /* [out] */ long *pTop,
  2793.             /* [out] */ long *pWidth,
  2794.             /* [out] */ long *pHeight) = 0;
  2795.         
  2796.         virtual HRESULT STDMETHODCALLTYPE SetDefaultSourcePosition( void) = 0;
  2797.         
  2798.         virtual HRESULT STDMETHODCALLTYPE SetDestinationPosition( 
  2799.             /* [in] */ long Left,
  2800.             /* [in] */ long Top,
  2801.             /* [in] */ long Width,
  2802.             /* [in] */ long Height) = 0;
  2803.         
  2804.         virtual HRESULT STDMETHODCALLTYPE GetDestinationPosition( 
  2805.             /* [out] */ long *pLeft,
  2806.             /* [out] */ long *pTop,
  2807.             /* [out] */ long *pWidth,
  2808.             /* [out] */ long *pHeight) = 0;
  2809.         
  2810.         virtual HRESULT STDMETHODCALLTYPE SetDefaultDestinationPosition( void) = 0;
  2811.         
  2812.         virtual HRESULT STDMETHODCALLTYPE GetVideoSize( 
  2813.             /* [out] */ long *pWidth,
  2814.             /* [out] */ long *pHeight) = 0;
  2815.         
  2816.         virtual HRESULT STDMETHODCALLTYPE GetVideoPaletteEntries( 
  2817.             /* [in] */ long StartIndex,
  2818.             /* [in] */ long Entries,
  2819.             /* [out] */ long *pRetrieved,
  2820.             /* [out] */ long *pPalette) = 0;
  2821.         
  2822.         virtual HRESULT STDMETHODCALLTYPE GetCurrentImage( 
  2823.             /* [out][in] */ long *pBufferSize,
  2824.             /* [out] */ long *pDIBImage) = 0;
  2825.         
  2826.         virtual HRESULT STDMETHODCALLTYPE IsUsingDefaultSource( void) = 0;
  2827.         
  2828.         virtual HRESULT STDMETHODCALLTYPE IsUsingDefaultDestination( void) = 0;
  2829.         
  2830.     };
  2831.     
  2832. #else     /* C style interface */
  2833.  
  2834.     typedef struct IBasicVideoVtbl
  2835.     {
  2836.         BEGIN_INTERFACE
  2837.         
  2838.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2839.             IBasicVideo * This,
  2840.             /* [in] */ REFIID riid,
  2841.             /* [iid_is][out] */ void **ppvObject);
  2842.         
  2843.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2844.             IBasicVideo * This);
  2845.         
  2846.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2847.             IBasicVideo * This);
  2848.         
  2849.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  2850.             IBasicVideo * This,
  2851.             /* [out] */ UINT *pctinfo);
  2852.         
  2853.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  2854.             IBasicVideo * This,
  2855.             /* [in] */ UINT iTInfo,
  2856.             /* [in] */ LCID lcid,
  2857.             /* [out] */ ITypeInfo **ppTInfo);
  2858.         
  2859.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  2860.             IBasicVideo * This,
  2861.             /* [in] */ REFIID riid,
  2862.             /* [size_is][in] */ LPOLESTR *rgszNames,
  2863.             /* [in] */ UINT cNames,
  2864.             /* [in] */ LCID lcid,
  2865.             /* [size_is][out] */ DISPID *rgDispId);
  2866.         
  2867.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  2868.             IBasicVideo * This,
  2869.             /* [in] */ DISPID dispIdMember,
  2870.             /* [in] */ REFIID riid,
  2871.             /* [in] */ LCID lcid,
  2872.             /* [in] */ WORD wFlags,
  2873.             /* [out][in] */ DISPPARAMS *pDispParams,
  2874.             /* [out] */ VARIANT *pVarResult,
  2875.             /* [out] */ EXCEPINFO *pExcepInfo,
  2876.             /* [out] */ UINT *puArgErr);
  2877.         
  2878.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AvgTimePerFrame )( 
  2879.             IBasicVideo * This,
  2880.             /* [retval][out] */ REFTIME *pAvgTimePerFrame);
  2881.         
  2882.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BitRate )( 
  2883.             IBasicVideo * This,
  2884.             /* [retval][out] */ long *pBitRate);
  2885.         
  2886.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BitErrorRate )( 
  2887.             IBasicVideo * This,
  2888.             /* [retval][out] */ long *pBitErrorRate);
  2889.         
  2890.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_VideoWidth )( 
  2891.             IBasicVideo * This,
  2892.             /* [retval][out] */ long *pVideoWidth);
  2893.         
  2894.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_VideoHeight )( 
  2895.             IBasicVideo * This,
  2896.             /* [retval][out] */ long *pVideoHeight);
  2897.         
  2898.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_SourceLeft )( 
  2899.             IBasicVideo * This,
  2900.             /* [in] */ long SourceLeft);
  2901.         
  2902.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SourceLeft )( 
  2903.             IBasicVideo * This,
  2904.             /* [retval][out] */ long *pSourceLeft);
  2905.         
  2906.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_SourceWidth )( 
  2907.             IBasicVideo * This,
  2908.             /* [in] */ long SourceWidth);
  2909.         
  2910.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SourceWidth )( 
  2911.             IBasicVideo * This,
  2912.             /* [retval][out] */ long *pSourceWidth);
  2913.         
  2914.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_SourceTop )( 
  2915.             IBasicVideo * This,
  2916.             /* [in] */ long SourceTop);
  2917.         
  2918.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SourceTop )( 
  2919.             IBasicVideo * This,
  2920.             /* [retval][out] */ long *pSourceTop);
  2921.         
  2922.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_SourceHeight )( 
  2923.             IBasicVideo * This,
  2924.             /* [in] */ long SourceHeight);
  2925.         
  2926.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SourceHeight )( 
  2927.             IBasicVideo * This,
  2928.             /* [retval][out] */ long *pSourceHeight);
  2929.         
  2930.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DestinationLeft )( 
  2931.             IBasicVideo * This,
  2932.             /* [in] */ long DestinationLeft);
  2933.         
  2934.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DestinationLeft )( 
  2935.             IBasicVideo * This,
  2936.             /* [retval][out] */ long *pDestinationLeft);
  2937.         
  2938.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DestinationWidth )( 
  2939.             IBasicVideo * This,
  2940.             /* [in] */ long DestinationWidth);
  2941.         
  2942.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DestinationWidth )( 
  2943.             IBasicVideo * This,
  2944.             /* [retval][out] */ long *pDestinationWidth);
  2945.         
  2946.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DestinationTop )( 
  2947.             IBasicVideo * This,
  2948.             /* [in] */ long DestinationTop);
  2949.         
  2950.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DestinationTop )( 
  2951.             IBasicVideo * This,
  2952.             /* [retval][out] */ long *pDestinationTop);
  2953.         
  2954.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DestinationHeight )( 
  2955.             IBasicVideo * This,
  2956.             /* [in] */ long DestinationHeight);
  2957.         
  2958.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DestinationHeight )( 
  2959.             IBasicVideo * This,
  2960.             /* [retval][out] */ long *pDestinationHeight);
  2961.         
  2962.         HRESULT ( STDMETHODCALLTYPE *SetSourcePosition )( 
  2963.             IBasicVideo * This,
  2964.             /* [in] */ long Left,
  2965.             /* [in] */ long Top,
  2966.             /* [in] */ long Width,
  2967.             /* [in] */ long Height);
  2968.         
  2969.         HRESULT ( STDMETHODCALLTYPE *GetSourcePosition )( 
  2970.             IBasicVideo * This,
  2971.             /* [out] */ long *pLeft,
  2972.             /* [out] */ long *pTop,
  2973.             /* [out] */ long *pWidth,
  2974.             /* [out] */ long *pHeight);
  2975.         
  2976.         HRESULT ( STDMETHODCALLTYPE *SetDefaultSourcePosition )( 
  2977.             IBasicVideo * This);
  2978.         
  2979.         HRESULT ( STDMETHODCALLTYPE *SetDestinationPosition )( 
  2980.             IBasicVideo * This,
  2981.             /* [in] */ long Left,
  2982.             /* [in] */ long Top,
  2983.             /* [in] */ long Width,
  2984.             /* [in] */ long Height);
  2985.         
  2986.         HRESULT ( STDMETHODCALLTYPE *GetDestinationPosition )( 
  2987.             IBasicVideo * This,
  2988.             /* [out] */ long *pLeft,
  2989.             /* [out] */ long *pTop,
  2990.             /* [out] */ long *pWidth,
  2991.             /* [out] */ long *pHeight);
  2992.         
  2993.         HRESULT ( STDMETHODCALLTYPE *SetDefaultDestinationPosition )( 
  2994.             IBasicVideo * This);
  2995.         
  2996.         HRESULT ( STDMETHODCALLTYPE *GetVideoSize )( 
  2997.             IBasicVideo * This,
  2998.             /* [out] */ long *pWidth,
  2999.             /* [out] */ long *pHeight);
  3000.         
  3001.         HRESULT ( STDMETHODCALLTYPE *GetVideoPaletteEntries )( 
  3002.             IBasicVideo * This,
  3003.             /* [in] */ long StartIndex,
  3004.             /* [in] */ long Entries,
  3005.             /* [out] */ long *pRetrieved,
  3006.             /* [out] */ long *pPalette);
  3007.         
  3008.         HRESULT ( STDMETHODCALLTYPE *GetCurrentImage )( 
  3009.             IBasicVideo * This,
  3010.             /* [out][in] */ long *pBufferSize,
  3011.             /* [out] */ long *pDIBImage);
  3012.         
  3013.         HRESULT ( STDMETHODCALLTYPE *IsUsingDefaultSource )( 
  3014.             IBasicVideo * This);
  3015.         
  3016.         HRESULT ( STDMETHODCALLTYPE *IsUsingDefaultDestination )( 
  3017.             IBasicVideo * This);
  3018.         
  3019.         END_INTERFACE
  3020.     } IBasicVideoVtbl;
  3021.  
  3022.     interface IBasicVideo
  3023.     {
  3024.         CONST_VTBL struct IBasicVideoVtbl *lpVtbl;
  3025.     };
  3026.  
  3027.     
  3028.  
  3029. #ifdef COBJMACROS
  3030.  
  3031.  
  3032. #define IBasicVideo_QueryInterface(This,riid,ppvObject)    \
  3033.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3034.  
  3035. #define IBasicVideo_AddRef(This)    \
  3036.     (This)->lpVtbl -> AddRef(This)
  3037.  
  3038. #define IBasicVideo_Release(This)    \
  3039.     (This)->lpVtbl -> Release(This)
  3040.  
  3041.  
  3042. #define IBasicVideo_GetTypeInfoCount(This,pctinfo)    \
  3043.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  3044.  
  3045. #define IBasicVideo_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  3046.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  3047.  
  3048. #define IBasicVideo_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  3049.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  3050.  
  3051. #define IBasicVideo_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  3052.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  3053.  
  3054.  
  3055. #define IBasicVideo_get_AvgTimePerFrame(This,pAvgTimePerFrame)    \
  3056.     (This)->lpVtbl -> get_AvgTimePerFrame(This,pAvgTimePerFrame)
  3057.  
  3058. #define IBasicVideo_get_BitRate(This,pBitRate)    \
  3059.     (This)->lpVtbl -> get_BitRate(This,pBitRate)
  3060.  
  3061. #define IBasicVideo_get_BitErrorRate(This,pBitErrorRate)    \
  3062.     (This)->lpVtbl -> get_BitErrorRate(This,pBitErrorRate)
  3063.  
  3064. #define IBasicVideo_get_VideoWidth(This,pVideoWidth)    \
  3065.     (This)->lpVtbl -> get_VideoWidth(This,pVideoWidth)
  3066.  
  3067. #define IBasicVideo_get_VideoHeight(This,pVideoHeight)    \
  3068.     (This)->lpVtbl -> get_VideoHeight(This,pVideoHeight)
  3069.  
  3070. #define IBasicVideo_put_SourceLeft(This,SourceLeft)    \
  3071.     (This)->lpVtbl -> put_SourceLeft(This,SourceLeft)
  3072.  
  3073. #define IBasicVideo_get_SourceLeft(This,pSourceLeft)    \
  3074.     (This)->lpVtbl -> get_SourceLeft(This,pSourceLeft)
  3075.  
  3076. #define IBasicVideo_put_SourceWidth(This,SourceWidth)    \
  3077.     (This)->lpVtbl -> put_SourceWidth(This,SourceWidth)
  3078.  
  3079. #define IBasicVideo_get_SourceWidth(This,pSourceWidth)    \
  3080.     (This)->lpVtbl -> get_SourceWidth(This,pSourceWidth)
  3081.  
  3082. #define IBasicVideo_put_SourceTop(This,SourceTop)    \
  3083.     (This)->lpVtbl -> put_SourceTop(This,SourceTop)
  3084.  
  3085. #define IBasicVideo_get_SourceTop(This,pSourceTop)    \
  3086.     (This)->lpVtbl -> get_SourceTop(This,pSourceTop)
  3087.  
  3088. #define IBasicVideo_put_SourceHeight(This,SourceHeight)    \
  3089.     (This)->lpVtbl -> put_SourceHeight(This,SourceHeight)
  3090.  
  3091. #define IBasicVideo_get_SourceHeight(This,pSourceHeight)    \
  3092.     (This)->lpVtbl -> get_SourceHeight(This,pSourceHeight)
  3093.  
  3094. #define IBasicVideo_put_DestinationLeft(This,DestinationLeft)    \
  3095.     (This)->lpVtbl -> put_DestinationLeft(This,DestinationLeft)
  3096.  
  3097. #define IBasicVideo_get_DestinationLeft(This,pDestinationLeft)    \
  3098.     (This)->lpVtbl -> get_DestinationLeft(This,pDestinationLeft)
  3099.  
  3100. #define IBasicVideo_put_DestinationWidth(This,DestinationWidth)    \
  3101.     (This)->lpVtbl -> put_DestinationWidth(This,DestinationWidth)
  3102.  
  3103. #define IBasicVideo_get_DestinationWidth(This,pDestinationWidth)    \
  3104.     (This)->lpVtbl -> get_DestinationWidth(This,pDestinationWidth)
  3105.  
  3106. #define IBasicVideo_put_DestinationTop(This,DestinationTop)    \
  3107.     (This)->lpVtbl -> put_DestinationTop(This,DestinationTop)
  3108.  
  3109. #define IBasicVideo_get_DestinationTop(This,pDestinationTop)    \
  3110.     (This)->lpVtbl -> get_DestinationTop(This,pDestinationTop)
  3111.  
  3112. #define IBasicVideo_put_DestinationHeight(This,DestinationHeight)    \
  3113.     (This)->lpVtbl -> put_DestinationHeight(This,DestinationHeight)
  3114.  
  3115. #define IBasicVideo_get_DestinationHeight(This,pDestinationHeight)    \
  3116.     (This)->lpVtbl -> get_DestinationHeight(This,pDestinationHeight)
  3117.  
  3118. #define IBasicVideo_SetSourcePosition(This,Left,Top,Width,Height)    \
  3119.     (This)->lpVtbl -> SetSourcePosition(This,Left,Top,Width,Height)
  3120.  
  3121. #define IBasicVideo_GetSourcePosition(This,pLeft,pTop,pWidth,pHeight)    \
  3122.     (This)->lpVtbl -> GetSourcePosition(This,pLeft,pTop,pWidth,pHeight)
  3123.  
  3124. #define IBasicVideo_SetDefaultSourcePosition(This)    \
  3125.     (This)->lpVtbl -> SetDefaultSourcePosition(This)
  3126.  
  3127. #define IBasicVideo_SetDestinationPosition(This,Left,Top,Width,Height)    \
  3128.     (This)->lpVtbl -> SetDestinationPosition(This,Left,Top,Width,Height)
  3129.  
  3130. #define IBasicVideo_GetDestinationPosition(This,pLeft,pTop,pWidth,pHeight)    \
  3131.     (This)->lpVtbl -> GetDestinationPosition(This,pLeft,pTop,pWidth,pHeight)
  3132.  
  3133. #define IBasicVideo_SetDefaultDestinationPosition(This)    \
  3134.     (This)->lpVtbl -> SetDefaultDestinationPosition(This)
  3135.  
  3136. #define IBasicVideo_GetVideoSize(This,pWidth,pHeight)    \
  3137.     (This)->lpVtbl -> GetVideoSize(This,pWidth,pHeight)
  3138.  
  3139. #define IBasicVideo_GetVideoPaletteEntries(This,StartIndex,Entries,pRetrieved,pPalette)    \
  3140.     (This)->lpVtbl -> GetVideoPaletteEntries(This,StartIndex,Entries,pRetrieved,pPalette)
  3141.  
  3142. #define IBasicVideo_GetCurrentImage(This,pBufferSize,pDIBImage)    \
  3143.     (This)->lpVtbl -> GetCurrentImage(This,pBufferSize,pDIBImage)
  3144.  
  3145. #define IBasicVideo_IsUsingDefaultSource(This)    \
  3146.     (This)->lpVtbl -> IsUsingDefaultSource(This)
  3147.  
  3148. #define IBasicVideo_IsUsingDefaultDestination(This)    \
  3149.     (This)->lpVtbl -> IsUsingDefaultDestination(This)
  3150.  
  3151. #endif /* COBJMACROS */
  3152.  
  3153.  
  3154. #endif     /* C style interface */
  3155.  
  3156.  
  3157.  
  3158. /* [propget] */ HRESULT STDMETHODCALLTYPE IBasicVideo_get_AvgTimePerFrame_Proxy( 
  3159.     IBasicVideo * This,
  3160.     /* [retval][out] */ REFTIME *pAvgTimePerFrame);
  3161.  
  3162.  
  3163. void __RPC_STUB IBasicVideo_get_AvgTimePerFrame_Stub(
  3164.     IRpcStubBuffer *This,
  3165.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3166.     PRPC_MESSAGE _pRpcMessage,
  3167.     DWORD *_pdwStubPhase);
  3168.  
  3169.  
  3170. /* [propget] */ HRESULT STDMETHODCALLTYPE IBasicVideo_get_BitRate_Proxy( 
  3171.     IBasicVideo * This,
  3172.     /* [retval][out] */ long *pBitRate);
  3173.  
  3174.  
  3175. void __RPC_STUB IBasicVideo_get_BitRate_Stub(
  3176.     IRpcStubBuffer *This,
  3177.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3178.     PRPC_MESSAGE _pRpcMessage,
  3179.     DWORD *_pdwStubPhase);
  3180.  
  3181.  
  3182. /* [propget] */ HRESULT STDMETHODCALLTYPE IBasicVideo_get_BitErrorRate_Proxy( 
  3183.     IBasicVideo * This,
  3184.     /* [retval][out] */ long *pBitErrorRate);
  3185.  
  3186.  
  3187. void __RPC_STUB IBasicVideo_get_BitErrorRate_Stub(
  3188.     IRpcStubBuffer *This,
  3189.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3190.     PRPC_MESSAGE _pRpcMessage,
  3191.     DWORD *_pdwStubPhase);
  3192.  
  3193.  
  3194. /* [propget] */ HRESULT STDMETHODCALLTYPE IBasicVideo_get_VideoWidth_Proxy( 
  3195.     IBasicVideo * This,
  3196.     /* [retval][out] */ long *pVideoWidth);
  3197.  
  3198.  
  3199. void __RPC_STUB IBasicVideo_get_VideoWidth_Stub(
  3200.     IRpcStubBuffer *This,
  3201.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3202.     PRPC_MESSAGE _pRpcMessage,
  3203.     DWORD *_pdwStubPhase);
  3204.  
  3205.  
  3206. /* [propget] */ HRESULT STDMETHODCALLTYPE IBasicVideo_get_VideoHeight_Proxy( 
  3207.     IBasicVideo * This,
  3208.     /* [retval][out] */ long *pVideoHeight);
  3209.  
  3210.  
  3211. void __RPC_STUB IBasicVideo_get_VideoHeight_Stub(
  3212.     IRpcStubBuffer *This,
  3213.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3214.     PRPC_MESSAGE _pRpcMessage,
  3215.     DWORD *_pdwStubPhase);
  3216.  
  3217.  
  3218. /* [propput] */ HRESULT STDMETHODCALLTYPE IBasicVideo_put_SourceLeft_Proxy( 
  3219.     IBasicVideo * This,
  3220.     /* [in] */ long SourceLeft);
  3221.  
  3222.  
  3223. void __RPC_STUB IBasicVideo_put_SourceLeft_Stub(
  3224.     IRpcStubBuffer *This,
  3225.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3226.     PRPC_MESSAGE _pRpcMessage,
  3227.     DWORD *_pdwStubPhase);
  3228.  
  3229.  
  3230. /* [propget] */ HRESULT STDMETHODCALLTYPE IBasicVideo_get_SourceLeft_Proxy( 
  3231.     IBasicVideo * This,
  3232.     /* [retval][out] */ long *pSourceLeft);
  3233.  
  3234.  
  3235. void __RPC_STUB IBasicVideo_get_SourceLeft_Stub(
  3236.     IRpcStubBuffer *This,
  3237.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3238.     PRPC_MESSAGE _pRpcMessage,
  3239.     DWORD *_pdwStubPhase);
  3240.  
  3241.  
  3242. /* [propput] */ HRESULT STDMETHODCALLTYPE IBasicVideo_put_SourceWidth_Proxy( 
  3243.     IBasicVideo * This,
  3244.     /* [in] */ long SourceWidth);
  3245.  
  3246.  
  3247. void __RPC_STUB IBasicVideo_put_SourceWidth_Stub(
  3248.     IRpcStubBuffer *This,
  3249.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3250.     PRPC_MESSAGE _pRpcMessage,
  3251.     DWORD *_pdwStubPhase);
  3252.  
  3253.  
  3254. /* [propget] */ HRESULT STDMETHODCALLTYPE IBasicVideo_get_SourceWidth_Proxy( 
  3255.     IBasicVideo * This,
  3256.     /* [retval][out] */ long *pSourceWidth);
  3257.  
  3258.  
  3259. void __RPC_STUB IBasicVideo_get_SourceWidth_Stub(
  3260.     IRpcStubBuffer *This,
  3261.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3262.     PRPC_MESSAGE _pRpcMessage,
  3263.     DWORD *_pdwStubPhase);
  3264.  
  3265.  
  3266. /* [propput] */ HRESULT STDMETHODCALLTYPE IBasicVideo_put_SourceTop_Proxy( 
  3267.     IBasicVideo * This,
  3268.     /* [in] */ long SourceTop);
  3269.  
  3270.  
  3271. void __RPC_STUB IBasicVideo_put_SourceTop_Stub(
  3272.     IRpcStubBuffer *This,
  3273.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3274.     PRPC_MESSAGE _pRpcMessage,
  3275.     DWORD *_pdwStubPhase);
  3276.  
  3277.  
  3278. /* [propget] */ HRESULT STDMETHODCALLTYPE IBasicVideo_get_SourceTop_Proxy( 
  3279.     IBasicVideo * This,
  3280.     /* [retval][out] */ long *pSourceTop);
  3281.  
  3282.  
  3283. void __RPC_STUB IBasicVideo_get_SourceTop_Stub(
  3284.     IRpcStubBuffer *This,
  3285.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3286.     PRPC_MESSAGE _pRpcMessage,
  3287.     DWORD *_pdwStubPhase);
  3288.  
  3289.  
  3290. /* [propput] */ HRESULT STDMETHODCALLTYPE IBasicVideo_put_SourceHeight_Proxy( 
  3291.     IBasicVideo * This,
  3292.     /* [in] */ long SourceHeight);
  3293.  
  3294.  
  3295. void __RPC_STUB IBasicVideo_put_SourceHeight_Stub(
  3296.     IRpcStubBuffer *This,
  3297.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3298.     PRPC_MESSAGE _pRpcMessage,
  3299.     DWORD *_pdwStubPhase);
  3300.  
  3301.  
  3302. /* [propget] */ HRESULT STDMETHODCALLTYPE IBasicVideo_get_SourceHeight_Proxy( 
  3303.     IBasicVideo * This,
  3304.     /* [retval][out] */ long *pSourceHeight);
  3305.  
  3306.  
  3307. void __RPC_STUB IBasicVideo_get_SourceHeight_Stub(
  3308.     IRpcStubBuffer *This,
  3309.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3310.     PRPC_MESSAGE _pRpcMessage,
  3311.     DWORD *_pdwStubPhase);
  3312.  
  3313.  
  3314. /* [propput] */ HRESULT STDMETHODCALLTYPE IBasicVideo_put_DestinationLeft_Proxy( 
  3315.     IBasicVideo * This,
  3316.     /* [in] */ long DestinationLeft);
  3317.  
  3318.  
  3319. void __RPC_STUB IBasicVideo_put_DestinationLeft_Stub(
  3320.     IRpcStubBuffer *This,
  3321.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3322.     PRPC_MESSAGE _pRpcMessage,
  3323.     DWORD *_pdwStubPhase);
  3324.  
  3325.  
  3326. /* [propget] */ HRESULT STDMETHODCALLTYPE IBasicVideo_get_DestinationLeft_Proxy( 
  3327.     IBasicVideo * This,
  3328.     /* [retval][out] */ long *pDestinationLeft);
  3329.  
  3330.  
  3331. void __RPC_STUB IBasicVideo_get_DestinationLeft_Stub(
  3332.     IRpcStubBuffer *This,
  3333.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3334.     PRPC_MESSAGE _pRpcMessage,
  3335.     DWORD *_pdwStubPhase);
  3336.  
  3337.  
  3338. /* [propput] */ HRESULT STDMETHODCALLTYPE IBasicVideo_put_DestinationWidth_Proxy( 
  3339.     IBasicVideo * This,
  3340.     /* [in] */ long DestinationWidth);
  3341.  
  3342.  
  3343. void __RPC_STUB IBasicVideo_put_DestinationWidth_Stub(
  3344.     IRpcStubBuffer *This,
  3345.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3346.     PRPC_MESSAGE _pRpcMessage,
  3347.     DWORD *_pdwStubPhase);
  3348.  
  3349.  
  3350. /* [propget] */ HRESULT STDMETHODCALLTYPE IBasicVideo_get_DestinationWidth_Proxy( 
  3351.     IBasicVideo * This,
  3352.     /* [retval][out] */ long *pDestinationWidth);
  3353.  
  3354.  
  3355. void __RPC_STUB IBasicVideo_get_DestinationWidth_Stub(
  3356.     IRpcStubBuffer *This,
  3357.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3358.     PRPC_MESSAGE _pRpcMessage,
  3359.     DWORD *_pdwStubPhase);
  3360.  
  3361.  
  3362. /* [propput] */ HRESULT STDMETHODCALLTYPE IBasicVideo_put_DestinationTop_Proxy( 
  3363.     IBasicVideo * This,
  3364.     /* [in] */ long DestinationTop);
  3365.  
  3366.  
  3367. void __RPC_STUB IBasicVideo_put_DestinationTop_Stub(
  3368.     IRpcStubBuffer *This,
  3369.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3370.     PRPC_MESSAGE _pRpcMessage,
  3371.     DWORD *_pdwStubPhase);
  3372.  
  3373.  
  3374. /* [propget] */ HRESULT STDMETHODCALLTYPE IBasicVideo_get_DestinationTop_Proxy( 
  3375.     IBasicVideo * This,
  3376.     /* [retval][out] */ long *pDestinationTop);
  3377.  
  3378.  
  3379. void __RPC_STUB IBasicVideo_get_DestinationTop_Stub(
  3380.     IRpcStubBuffer *This,
  3381.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3382.     PRPC_MESSAGE _pRpcMessage,
  3383.     DWORD *_pdwStubPhase);
  3384.  
  3385.  
  3386. /* [propput] */ HRESULT STDMETHODCALLTYPE IBasicVideo_put_DestinationHeight_Proxy( 
  3387.     IBasicVideo * This,
  3388.     /* [in] */ long DestinationHeight);
  3389.  
  3390.  
  3391. void __RPC_STUB IBasicVideo_put_DestinationHeight_Stub(
  3392.     IRpcStubBuffer *This,
  3393.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3394.     PRPC_MESSAGE _pRpcMessage,
  3395.     DWORD *_pdwStubPhase);
  3396.  
  3397.  
  3398. /* [propget] */ HRESULT STDMETHODCALLTYPE IBasicVideo_get_DestinationHeight_Proxy( 
  3399.     IBasicVideo * This,
  3400.     /* [retval][out] */ long *pDestinationHeight);
  3401.  
  3402.  
  3403. void __RPC_STUB IBasicVideo_get_DestinationHeight_Stub(
  3404.     IRpcStubBuffer *This,
  3405.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3406.     PRPC_MESSAGE _pRpcMessage,
  3407.     DWORD *_pdwStubPhase);
  3408.  
  3409.  
  3410. HRESULT STDMETHODCALLTYPE IBasicVideo_SetSourcePosition_Proxy( 
  3411.     IBasicVideo * This,
  3412.     /* [in] */ long Left,
  3413.     /* [in] */ long Top,
  3414.     /* [in] */ long Width,
  3415.     /* [in] */ long Height);
  3416.  
  3417.  
  3418. void __RPC_STUB IBasicVideo_SetSourcePosition_Stub(
  3419.     IRpcStubBuffer *This,
  3420.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3421.     PRPC_MESSAGE _pRpcMessage,
  3422.     DWORD *_pdwStubPhase);
  3423.  
  3424.  
  3425. HRESULT STDMETHODCALLTYPE IBasicVideo_GetSourcePosition_Proxy( 
  3426.     IBasicVideo * This,
  3427.     /* [out] */ long *pLeft,
  3428.     /* [out] */ long *pTop,
  3429.     /* [out] */ long *pWidth,
  3430.     /* [out] */ long *pHeight);
  3431.  
  3432.  
  3433. void __RPC_STUB IBasicVideo_GetSourcePosition_Stub(
  3434.     IRpcStubBuffer *This,
  3435.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3436.     PRPC_MESSAGE _pRpcMessage,
  3437.     DWORD *_pdwStubPhase);
  3438.  
  3439.  
  3440. HRESULT STDMETHODCALLTYPE IBasicVideo_SetDefaultSourcePosition_Proxy( 
  3441.     IBasicVideo * This);
  3442.  
  3443.  
  3444. void __RPC_STUB IBasicVideo_SetDefaultSourcePosition_Stub(
  3445.     IRpcStubBuffer *This,
  3446.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3447.     PRPC_MESSAGE _pRpcMessage,
  3448.     DWORD *_pdwStubPhase);
  3449.  
  3450.  
  3451. HRESULT STDMETHODCALLTYPE IBasicVideo_SetDestinationPosition_Proxy( 
  3452.     IBasicVideo * This,
  3453.     /* [in] */ long Left,
  3454.     /* [in] */ long Top,
  3455.     /* [in] */ long Width,
  3456.     /* [in] */ long Height);
  3457.  
  3458.  
  3459. void __RPC_STUB IBasicVideo_SetDestinationPosition_Stub(
  3460.     IRpcStubBuffer *This,
  3461.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3462.     PRPC_MESSAGE _pRpcMessage,
  3463.     DWORD *_pdwStubPhase);
  3464.  
  3465.  
  3466. HRESULT STDMETHODCALLTYPE IBasicVideo_GetDestinationPosition_Proxy( 
  3467.     IBasicVideo * This,
  3468.     /* [out] */ long *pLeft,
  3469.     /* [out] */ long *pTop,
  3470.     /* [out] */ long *pWidth,
  3471.     /* [out] */ long *pHeight);
  3472.  
  3473.  
  3474. void __RPC_STUB IBasicVideo_GetDestinationPosition_Stub(
  3475.     IRpcStubBuffer *This,
  3476.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3477.     PRPC_MESSAGE _pRpcMessage,
  3478.     DWORD *_pdwStubPhase);
  3479.  
  3480.  
  3481. HRESULT STDMETHODCALLTYPE IBasicVideo_SetDefaultDestinationPosition_Proxy( 
  3482.     IBasicVideo * This);
  3483.  
  3484.  
  3485. void __RPC_STUB IBasicVideo_SetDefaultDestinationPosition_Stub(
  3486.     IRpcStubBuffer *This,
  3487.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3488.     PRPC_MESSAGE _pRpcMessage,
  3489.     DWORD *_pdwStubPhase);
  3490.  
  3491.  
  3492. HRESULT STDMETHODCALLTYPE IBasicVideo_GetVideoSize_Proxy( 
  3493.     IBasicVideo * This,
  3494.     /* [out] */ long *pWidth,
  3495.     /* [out] */ long *pHeight);
  3496.  
  3497.  
  3498. void __RPC_STUB IBasicVideo_GetVideoSize_Stub(
  3499.     IRpcStubBuffer *This,
  3500.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3501.     PRPC_MESSAGE _pRpcMessage,
  3502.     DWORD *_pdwStubPhase);
  3503.  
  3504.  
  3505. HRESULT STDMETHODCALLTYPE IBasicVideo_GetVideoPaletteEntries_Proxy( 
  3506.     IBasicVideo * This,
  3507.     /* [in] */ long StartIndex,
  3508.     /* [in] */ long Entries,
  3509.     /* [out] */ long *pRetrieved,
  3510.     /* [out] */ long *pPalette);
  3511.  
  3512.  
  3513. void __RPC_STUB IBasicVideo_GetVideoPaletteEntries_Stub(
  3514.     IRpcStubBuffer *This,
  3515.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3516.     PRPC_MESSAGE _pRpcMessage,
  3517.     DWORD *_pdwStubPhase);
  3518.  
  3519.  
  3520. HRESULT STDMETHODCALLTYPE IBasicVideo_GetCurrentImage_Proxy( 
  3521.     IBasicVideo * This,
  3522.     /* [out][in] */ long *pBufferSize,
  3523.     /* [out] */ long *pDIBImage);
  3524.  
  3525.  
  3526. void __RPC_STUB IBasicVideo_GetCurrentImage_Stub(
  3527.     IRpcStubBuffer *This,
  3528.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3529.     PRPC_MESSAGE _pRpcMessage,
  3530.     DWORD *_pdwStubPhase);
  3531.  
  3532.  
  3533. HRESULT STDMETHODCALLTYPE IBasicVideo_IsUsingDefaultSource_Proxy( 
  3534.     IBasicVideo * This);
  3535.  
  3536.  
  3537. void __RPC_STUB IBasicVideo_IsUsingDefaultSource_Stub(
  3538.     IRpcStubBuffer *This,
  3539.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3540.     PRPC_MESSAGE _pRpcMessage,
  3541.     DWORD *_pdwStubPhase);
  3542.  
  3543.  
  3544. HRESULT STDMETHODCALLTYPE IBasicVideo_IsUsingDefaultDestination_Proxy( 
  3545.     IBasicVideo * This);
  3546.  
  3547.  
  3548. void __RPC_STUB IBasicVideo_IsUsingDefaultDestination_Stub(
  3549.     IRpcStubBuffer *This,
  3550.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3551.     PRPC_MESSAGE _pRpcMessage,
  3552.     DWORD *_pdwStubPhase);
  3553.  
  3554.  
  3555.  
  3556. #endif     /* __IBasicVideo_INTERFACE_DEFINED__ */
  3557.  
  3558.  
  3559. #ifndef __IBasicVideo2_INTERFACE_DEFINED__
  3560. #define __IBasicVideo2_INTERFACE_DEFINED__
  3561.  
  3562. /* interface IBasicVideo2 */
  3563. /* [object][helpstring][uuid] */ 
  3564.  
  3565.  
  3566. DEFINE_GUID(IID_IBasicVideo2,0x329bb360,0xf6ea,0x11d1,0x90,0x38,0x00,0xa0,0xc9,0x69,0x72,0x98);
  3567.  
  3568. #if defined(__cplusplus) && !defined(CINTERFACE)
  3569.     
  3570.     MIDL_INTERFACE("329bb360-f6ea-11d1-9038-00a0c9697298")
  3571.     IBasicVideo2 : public IBasicVideo
  3572.     {
  3573.     public:
  3574.         virtual HRESULT STDMETHODCALLTYPE GetPreferredAspectRatio( 
  3575.             /* [out] */ long *plAspectX,
  3576.             /* [out] */ long *plAspectY) = 0;
  3577.         
  3578.     };
  3579.     
  3580. #else     /* C style interface */
  3581.  
  3582.     typedef struct IBasicVideo2Vtbl
  3583.     {
  3584.         BEGIN_INTERFACE
  3585.         
  3586.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  3587.             IBasicVideo2 * This,
  3588.             /* [in] */ REFIID riid,
  3589.             /* [iid_is][out] */ void **ppvObject);
  3590.         
  3591.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  3592.             IBasicVideo2 * This);
  3593.         
  3594.         ULONG ( STDMETHODCALLTYPE *Release )( 
  3595.             IBasicVideo2 * This);
  3596.         
  3597.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  3598.             IBasicVideo2 * This,
  3599.             /* [out] */ UINT *pctinfo);
  3600.         
  3601.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  3602.             IBasicVideo2 * This,
  3603.             /* [in] */ UINT iTInfo,
  3604.             /* [in] */ LCID lcid,
  3605.             /* [out] */ ITypeInfo **ppTInfo);
  3606.         
  3607.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  3608.             IBasicVideo2 * This,
  3609.             /* [in] */ REFIID riid,
  3610.             /* [size_is][in] */ LPOLESTR *rgszNames,
  3611.             /* [in] */ UINT cNames,
  3612.             /* [in] */ LCID lcid,
  3613.             /* [size_is][out] */ DISPID *rgDispId);
  3614.         
  3615.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  3616.             IBasicVideo2 * This,
  3617.             /* [in] */ DISPID dispIdMember,
  3618.             /* [in] */ REFIID riid,
  3619.             /* [in] */ LCID lcid,
  3620.             /* [in] */ WORD wFlags,
  3621.             /* [out][in] */ DISPPARAMS *pDispParams,
  3622.             /* [out] */ VARIANT *pVarResult,
  3623.             /* [out] */ EXCEPINFO *pExcepInfo,
  3624.             /* [out] */ UINT *puArgErr);
  3625.         
  3626.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AvgTimePerFrame )( 
  3627.             IBasicVideo2 * This,
  3628.             /* [retval][out] */ REFTIME *pAvgTimePerFrame);
  3629.         
  3630.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BitRate )( 
  3631.             IBasicVideo2 * This,
  3632.             /* [retval][out] */ long *pBitRate);
  3633.         
  3634.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BitErrorRate )( 
  3635.             IBasicVideo2 * This,
  3636.             /* [retval][out] */ long *pBitErrorRate);
  3637.         
  3638.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_VideoWidth )( 
  3639.             IBasicVideo2 * This,
  3640.             /* [retval][out] */ long *pVideoWidth);
  3641.         
  3642.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_VideoHeight )( 
  3643.             IBasicVideo2 * This,
  3644.             /* [retval][out] */ long *pVideoHeight);
  3645.         
  3646.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_SourceLeft )( 
  3647.             IBasicVideo2 * This,
  3648.             /* [in] */ long SourceLeft);
  3649.         
  3650.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SourceLeft )( 
  3651.             IBasicVideo2 * This,
  3652.             /* [retval][out] */ long *pSourceLeft);
  3653.         
  3654.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_SourceWidth )( 
  3655.             IBasicVideo2 * This,
  3656.             /* [in] */ long SourceWidth);
  3657.         
  3658.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SourceWidth )( 
  3659.             IBasicVideo2 * This,
  3660.             /* [retval][out] */ long *pSourceWidth);
  3661.         
  3662.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_SourceTop )( 
  3663.             IBasicVideo2 * This,
  3664.             /* [in] */ long SourceTop);
  3665.         
  3666.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SourceTop )( 
  3667.             IBasicVideo2 * This,
  3668.             /* [retval][out] */ long *pSourceTop);
  3669.         
  3670.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_SourceHeight )( 
  3671.             IBasicVideo2 * This,
  3672.             /* [in] */ long SourceHeight);
  3673.         
  3674.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SourceHeight )( 
  3675.             IBasicVideo2 * This,
  3676.             /* [retval][out] */ long *pSourceHeight);
  3677.         
  3678.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DestinationLeft )( 
  3679.             IBasicVideo2 * This,
  3680.             /* [in] */ long DestinationLeft);
  3681.         
  3682.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DestinationLeft )( 
  3683.             IBasicVideo2 * This,
  3684.             /* [retval][out] */ long *pDestinationLeft);
  3685.         
  3686.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DestinationWidth )( 
  3687.             IBasicVideo2 * This,
  3688.             /* [in] */ long DestinationWidth);
  3689.         
  3690.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DestinationWidth )( 
  3691.             IBasicVideo2 * This,
  3692.             /* [retval][out] */ long *pDestinationWidth);
  3693.         
  3694.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DestinationTop )( 
  3695.             IBasicVideo2 * This,
  3696.             /* [in] */ long DestinationTop);
  3697.         
  3698.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DestinationTop )( 
  3699.             IBasicVideo2 * This,
  3700.             /* [retval][out] */ long *pDestinationTop);
  3701.         
  3702.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DestinationHeight )( 
  3703.             IBasicVideo2 * This,
  3704.             /* [in] */ long DestinationHeight);
  3705.         
  3706.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DestinationHeight )( 
  3707.             IBasicVideo2 * This,
  3708.             /* [retval][out] */ long *pDestinationHeight);
  3709.         
  3710.         HRESULT ( STDMETHODCALLTYPE *SetSourcePosition )( 
  3711.             IBasicVideo2 * This,
  3712.             /* [in] */ long Left,
  3713.             /* [in] */ long Top,
  3714.             /* [in] */ long Width,
  3715.             /* [in] */ long Height);
  3716.         
  3717.         HRESULT ( STDMETHODCALLTYPE *GetSourcePosition )( 
  3718.             IBasicVideo2 * This,
  3719.             /* [out] */ long *pLeft,
  3720.             /* [out] */ long *pTop,
  3721.             /* [out] */ long *pWidth,
  3722.             /* [out] */ long *pHeight);
  3723.         
  3724.         HRESULT ( STDMETHODCALLTYPE *SetDefaultSourcePosition )( 
  3725.             IBasicVideo2 * This);
  3726.         
  3727.         HRESULT ( STDMETHODCALLTYPE *SetDestinationPosition )( 
  3728.             IBasicVideo2 * This,
  3729.             /* [in] */ long Left,
  3730.             /* [in] */ long Top,
  3731.             /* [in] */ long Width,
  3732.             /* [in] */ long Height);
  3733.         
  3734.         HRESULT ( STDMETHODCALLTYPE *GetDestinationPosition )( 
  3735.             IBasicVideo2 * This,
  3736.             /* [out] */ long *pLeft,
  3737.             /* [out] */ long *pTop,
  3738.             /* [out] */ long *pWidth,
  3739.             /* [out] */ long *pHeight);
  3740.         
  3741.         HRESULT ( STDMETHODCALLTYPE *SetDefaultDestinationPosition )( 
  3742.             IBasicVideo2 * This);
  3743.         
  3744.         HRESULT ( STDMETHODCALLTYPE *GetVideoSize )( 
  3745.             IBasicVideo2 * This,
  3746.             /* [out] */ long *pWidth,
  3747.             /* [out] */ long *pHeight);
  3748.         
  3749.         HRESULT ( STDMETHODCALLTYPE *GetVideoPaletteEntries )( 
  3750.             IBasicVideo2 * This,
  3751.             /* [in] */ long StartIndex,
  3752.             /* [in] */ long Entries,
  3753.             /* [out] */ long *pRetrieved,
  3754.             /* [out] */ long *pPalette);
  3755.         
  3756.         HRESULT ( STDMETHODCALLTYPE *GetCurrentImage )( 
  3757.             IBasicVideo2 * This,
  3758.             /* [out][in] */ long *pBufferSize,
  3759.             /* [out] */ long *pDIBImage);
  3760.         
  3761.         HRESULT ( STDMETHODCALLTYPE *IsUsingDefaultSource )( 
  3762.             IBasicVideo2 * This);
  3763.         
  3764.         HRESULT ( STDMETHODCALLTYPE *IsUsingDefaultDestination )( 
  3765.             IBasicVideo2 * This);
  3766.         
  3767.         HRESULT ( STDMETHODCALLTYPE *GetPreferredAspectRatio )( 
  3768.             IBasicVideo2 * This,
  3769.             /* [out] */ long *plAspectX,
  3770.             /* [out] */ long *plAspectY);
  3771.         
  3772.         END_INTERFACE
  3773.     } IBasicVideo2Vtbl;
  3774.  
  3775.     interface IBasicVideo2
  3776.     {
  3777.         CONST_VTBL struct IBasicVideo2Vtbl *lpVtbl;
  3778.     };
  3779.  
  3780.     
  3781.  
  3782. #ifdef COBJMACROS
  3783.  
  3784.  
  3785. #define IBasicVideo2_QueryInterface(This,riid,ppvObject)    \
  3786.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3787.  
  3788. #define IBasicVideo2_AddRef(This)    \
  3789.     (This)->lpVtbl -> AddRef(This)
  3790.  
  3791. #define IBasicVideo2_Release(This)    \
  3792.     (This)->lpVtbl -> Release(This)
  3793.  
  3794.  
  3795. #define IBasicVideo2_GetTypeInfoCount(This,pctinfo)    \
  3796.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  3797.  
  3798. #define IBasicVideo2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  3799.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  3800.  
  3801. #define IBasicVideo2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  3802.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  3803.  
  3804. #define IBasicVideo2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  3805.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  3806.  
  3807.  
  3808. #define IBasicVideo2_get_AvgTimePerFrame(This,pAvgTimePerFrame)    \
  3809.     (This)->lpVtbl -> get_AvgTimePerFrame(This,pAvgTimePerFrame)
  3810.  
  3811. #define IBasicVideo2_get_BitRate(This,pBitRate)    \
  3812.     (This)->lpVtbl -> get_BitRate(This,pBitRate)
  3813.  
  3814. #define IBasicVideo2_get_BitErrorRate(This,pBitErrorRate)    \
  3815.     (This)->lpVtbl -> get_BitErrorRate(This,pBitErrorRate)
  3816.  
  3817. #define IBasicVideo2_get_VideoWidth(This,pVideoWidth)    \
  3818.     (This)->lpVtbl -> get_VideoWidth(This,pVideoWidth)
  3819.  
  3820. #define IBasicVideo2_get_VideoHeight(This,pVideoHeight)    \
  3821.     (This)->lpVtbl -> get_VideoHeight(This,pVideoHeight)
  3822.  
  3823. #define IBasicVideo2_put_SourceLeft(This,SourceLeft)    \
  3824.     (This)->lpVtbl -> put_SourceLeft(This,SourceLeft)
  3825.  
  3826. #define IBasicVideo2_get_SourceLeft(This,pSourceLeft)    \
  3827.     (This)->lpVtbl -> get_SourceLeft(This,pSourceLeft)
  3828.  
  3829. #define IBasicVideo2_put_SourceWidth(This,SourceWidth)    \
  3830.     (This)->lpVtbl -> put_SourceWidth(This,SourceWidth)
  3831.  
  3832. #define IBasicVideo2_get_SourceWidth(This,pSourceWidth)    \
  3833.     (This)->lpVtbl -> get_SourceWidth(This,pSourceWidth)
  3834.  
  3835. #define IBasicVideo2_put_SourceTop(This,SourceTop)    \
  3836.     (This)->lpVtbl -> put_SourceTop(This,SourceTop)
  3837.  
  3838. #define IBasicVideo2_get_SourceTop(This,pSourceTop)    \
  3839.     (This)->lpVtbl -> get_SourceTop(This,pSourceTop)
  3840.  
  3841. #define IBasicVideo2_put_SourceHeight(This,SourceHeight)    \
  3842.     (This)->lpVtbl -> put_SourceHeight(This,SourceHeight)
  3843.  
  3844. #define IBasicVideo2_get_SourceHeight(This,pSourceHeight)    \
  3845.     (This)->lpVtbl -> get_SourceHeight(This,pSourceHeight)
  3846.  
  3847. #define IBasicVideo2_put_DestinationLeft(This,DestinationLeft)    \
  3848.     (This)->lpVtbl -> put_DestinationLeft(This,DestinationLeft)
  3849.  
  3850. #define IBasicVideo2_get_DestinationLeft(This,pDestinationLeft)    \
  3851.     (This)->lpVtbl -> get_DestinationLeft(This,pDestinationLeft)
  3852.  
  3853. #define IBasicVideo2_put_DestinationWidth(This,DestinationWidth)    \
  3854.     (This)->lpVtbl -> put_DestinationWidth(This,DestinationWidth)
  3855.  
  3856. #define IBasicVideo2_get_DestinationWidth(This,pDestinationWidth)    \
  3857.     (This)->lpVtbl -> get_DestinationWidth(This,pDestinationWidth)
  3858.  
  3859. #define IBasicVideo2_put_DestinationTop(This,DestinationTop)    \
  3860.     (This)->lpVtbl -> put_DestinationTop(This,DestinationTop)
  3861.  
  3862. #define IBasicVideo2_get_DestinationTop(This,pDestinationTop)    \
  3863.     (This)->lpVtbl -> get_DestinationTop(This,pDestinationTop)
  3864.  
  3865. #define IBasicVideo2_put_DestinationHeight(This,DestinationHeight)    \
  3866.     (This)->lpVtbl -> put_DestinationHeight(This,DestinationHeight)
  3867.  
  3868. #define IBasicVideo2_get_DestinationHeight(This,pDestinationHeight)    \
  3869.     (This)->lpVtbl -> get_DestinationHeight(This,pDestinationHeight)
  3870.  
  3871. #define IBasicVideo2_SetSourcePosition(This,Left,Top,Width,Height)    \
  3872.     (This)->lpVtbl -> SetSourcePosition(This,Left,Top,Width,Height)
  3873.  
  3874. #define IBasicVideo2_GetSourcePosition(This,pLeft,pTop,pWidth,pHeight)    \
  3875.     (This)->lpVtbl -> GetSourcePosition(This,pLeft,pTop,pWidth,pHeight)
  3876.  
  3877. #define IBasicVideo2_SetDefaultSourcePosition(This)    \
  3878.     (This)->lpVtbl -> SetDefaultSourcePosition(This)
  3879.  
  3880. #define IBasicVideo2_SetDestinationPosition(This,Left,Top,Width,Height)    \
  3881.     (This)->lpVtbl -> SetDestinationPosition(This,Left,Top,Width,Height)
  3882.  
  3883. #define IBasicVideo2_GetDestinationPosition(This,pLeft,pTop,pWidth,pHeight)    \
  3884.     (This)->lpVtbl -> GetDestinationPosition(This,pLeft,pTop,pWidth,pHeight)
  3885.  
  3886. #define IBasicVideo2_SetDefaultDestinationPosition(This)    \
  3887.     (This)->lpVtbl -> SetDefaultDestinationPosition(This)
  3888.  
  3889. #define IBasicVideo2_GetVideoSize(This,pWidth,pHeight)    \
  3890.     (This)->lpVtbl -> GetVideoSize(This,pWidth,pHeight)
  3891.  
  3892. #define IBasicVideo2_GetVideoPaletteEntries(This,StartIndex,Entries,pRetrieved,pPalette)    \
  3893.     (This)->lpVtbl -> GetVideoPaletteEntries(This,StartIndex,Entries,pRetrieved,pPalette)
  3894.  
  3895. #define IBasicVideo2_GetCurrentImage(This,pBufferSize,pDIBImage)    \
  3896.     (This)->lpVtbl -> GetCurrentImage(This,pBufferSize,pDIBImage)
  3897.  
  3898. #define IBasicVideo2_IsUsingDefaultSource(This)    \
  3899.     (This)->lpVtbl -> IsUsingDefaultSource(This)
  3900.  
  3901. #define IBasicVideo2_IsUsingDefaultDestination(This)    \
  3902.     (This)->lpVtbl -> IsUsingDefaultDestination(This)
  3903.  
  3904.  
  3905. #define IBasicVideo2_GetPreferredAspectRatio(This,plAspectX,plAspectY)    \
  3906.     (This)->lpVtbl -> GetPreferredAspectRatio(This,plAspectX,plAspectY)
  3907.  
  3908. #endif /* COBJMACROS */
  3909.  
  3910.  
  3911. #endif     /* C style interface */
  3912.  
  3913.  
  3914.  
  3915. HRESULT STDMETHODCALLTYPE IBasicVideo2_GetPreferredAspectRatio_Proxy( 
  3916.     IBasicVideo2 * This,
  3917.     /* [out] */ long *plAspectX,
  3918.     /* [out] */ long *plAspectY);
  3919.  
  3920.  
  3921. void __RPC_STUB IBasicVideo2_GetPreferredAspectRatio_Stub(
  3922.     IRpcStubBuffer *This,
  3923.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3924.     PRPC_MESSAGE _pRpcMessage,
  3925.     DWORD *_pdwStubPhase);
  3926.  
  3927.  
  3928.  
  3929. #endif     /* __IBasicVideo2_INTERFACE_DEFINED__ */
  3930.  
  3931.  
  3932. #ifndef __IDeferredCommand_INTERFACE_DEFINED__
  3933. #define __IDeferredCommand_INTERFACE_DEFINED__
  3934.  
  3935. /* interface IDeferredCommand */
  3936. /* [object][helpstring][uuid] */ 
  3937.  
  3938.  
  3939. DEFINE_GUID(IID_IDeferredCommand,0x56a868b8,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
  3940.  
  3941. #if defined(__cplusplus) && !defined(CINTERFACE)
  3942.     
  3943.     MIDL_INTERFACE("56a868b8-0ad4-11ce-b03a-0020af0ba770")
  3944.     IDeferredCommand : public IUnknown
  3945.     {
  3946.     public:
  3947.         virtual HRESULT STDMETHODCALLTYPE Cancel( void) = 0;
  3948.         
  3949.         virtual HRESULT STDMETHODCALLTYPE Confidence( 
  3950.             /* [out] */ LONG *pConfidence) = 0;
  3951.         
  3952.         virtual HRESULT STDMETHODCALLTYPE Postpone( 
  3953.             /* [in] */ REFTIME newtime) = 0;
  3954.         
  3955.         virtual HRESULT STDMETHODCALLTYPE GetHResult( 
  3956.             /* [out] */ HRESULT *phrResult) = 0;
  3957.         
  3958.     };
  3959.     
  3960. #else     /* C style interface */
  3961.  
  3962.     typedef struct IDeferredCommandVtbl
  3963.     {
  3964.         BEGIN_INTERFACE
  3965.         
  3966.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  3967.             IDeferredCommand * This,
  3968.             /* [in] */ REFIID riid,
  3969.             /* [iid_is][out] */ void **ppvObject);
  3970.         
  3971.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  3972.             IDeferredCommand * This);
  3973.         
  3974.         ULONG ( STDMETHODCALLTYPE *Release )( 
  3975.             IDeferredCommand * This);
  3976.         
  3977.         HRESULT ( STDMETHODCALLTYPE *Cancel )( 
  3978.             IDeferredCommand * This);
  3979.         
  3980.         HRESULT ( STDMETHODCALLTYPE *Confidence )( 
  3981.             IDeferredCommand * This,
  3982.             /* [out] */ LONG *pConfidence);
  3983.         
  3984.         HRESULT ( STDMETHODCALLTYPE *Postpone )( 
  3985.             IDeferredCommand * This,
  3986.             /* [in] */ REFTIME newtime);
  3987.         
  3988.         HRESULT ( STDMETHODCALLTYPE *GetHResult )( 
  3989.             IDeferredCommand * This,
  3990.             /* [out] */ HRESULT *phrResult);
  3991.         
  3992.         END_INTERFACE
  3993.     } IDeferredCommandVtbl;
  3994.  
  3995.     interface IDeferredCommand
  3996.     {
  3997.         CONST_VTBL struct IDeferredCommandVtbl *lpVtbl;
  3998.     };
  3999.  
  4000.     
  4001.  
  4002. #ifdef COBJMACROS
  4003.  
  4004.  
  4005. #define IDeferredCommand_QueryInterface(This,riid,ppvObject)    \
  4006.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4007.  
  4008. #define IDeferredCommand_AddRef(This)    \
  4009.     (This)->lpVtbl -> AddRef(This)
  4010.  
  4011. #define IDeferredCommand_Release(This)    \
  4012.     (This)->lpVtbl -> Release(This)
  4013.  
  4014.  
  4015. #define IDeferredCommand_Cancel(This)    \
  4016.     (This)->lpVtbl -> Cancel(This)
  4017.  
  4018. #define IDeferredCommand_Confidence(This,pConfidence)    \
  4019.     (This)->lpVtbl -> Confidence(This,pConfidence)
  4020.  
  4021. #define IDeferredCommand_Postpone(This,newtime)    \
  4022.     (This)->lpVtbl -> Postpone(This,newtime)
  4023.  
  4024. #define IDeferredCommand_GetHResult(This,phrResult)    \
  4025.     (This)->lpVtbl -> GetHResult(This,phrResult)
  4026.  
  4027. #endif /* COBJMACROS */
  4028.  
  4029.  
  4030. #endif     /* C style interface */
  4031.  
  4032.  
  4033.  
  4034. HRESULT STDMETHODCALLTYPE IDeferredCommand_Cancel_Proxy( 
  4035.     IDeferredCommand * This);
  4036.  
  4037.  
  4038. void __RPC_STUB IDeferredCommand_Cancel_Stub(
  4039.     IRpcStubBuffer *This,
  4040.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4041.     PRPC_MESSAGE _pRpcMessage,
  4042.     DWORD *_pdwStubPhase);
  4043.  
  4044.  
  4045. HRESULT STDMETHODCALLTYPE IDeferredCommand_Confidence_Proxy( 
  4046.     IDeferredCommand * This,
  4047.     /* [out] */ LONG *pConfidence);
  4048.  
  4049.  
  4050. void __RPC_STUB IDeferredCommand_Confidence_Stub(
  4051.     IRpcStubBuffer *This,
  4052.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4053.     PRPC_MESSAGE _pRpcMessage,
  4054.     DWORD *_pdwStubPhase);
  4055.  
  4056.  
  4057. HRESULT STDMETHODCALLTYPE IDeferredCommand_Postpone_Proxy( 
  4058.     IDeferredCommand * This,
  4059.     /* [in] */ REFTIME newtime);
  4060.  
  4061.  
  4062. void __RPC_STUB IDeferredCommand_Postpone_Stub(
  4063.     IRpcStubBuffer *This,
  4064.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4065.     PRPC_MESSAGE _pRpcMessage,
  4066.     DWORD *_pdwStubPhase);
  4067.  
  4068.  
  4069. HRESULT STDMETHODCALLTYPE IDeferredCommand_GetHResult_Proxy( 
  4070.     IDeferredCommand * This,
  4071.     /* [out] */ HRESULT *phrResult);
  4072.  
  4073.  
  4074. void __RPC_STUB IDeferredCommand_GetHResult_Stub(
  4075.     IRpcStubBuffer *This,
  4076.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4077.     PRPC_MESSAGE _pRpcMessage,
  4078.     DWORD *_pdwStubPhase);
  4079.  
  4080.  
  4081.  
  4082. #endif     /* __IDeferredCommand_INTERFACE_DEFINED__ */
  4083.  
  4084.  
  4085. #ifndef __IQueueCommand_INTERFACE_DEFINED__
  4086. #define __IQueueCommand_INTERFACE_DEFINED__
  4087.  
  4088. /* interface IQueueCommand */
  4089. /* [object][helpstring][uuid] */ 
  4090.  
  4091.  
  4092. DEFINE_GUID(IID_IQueueCommand,0x56a868b7,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
  4093.  
  4094. #if defined(__cplusplus) && !defined(CINTERFACE)
  4095.     
  4096.     MIDL_INTERFACE("56a868b7-0ad4-11ce-b03a-0020af0ba770")
  4097.     IQueueCommand : public IUnknown
  4098.     {
  4099.     public:
  4100.         virtual HRESULT STDMETHODCALLTYPE InvokeAtStreamTime( 
  4101.             /* [out] */ IDeferredCommand **pCmd,
  4102.             /* [in] */ REFTIME time,
  4103.             /* [in] */ GUID *iid,
  4104.             /* [in] */ long dispidMethod,
  4105.             /* [in] */ short wFlags,
  4106.             /* [in] */ long cArgs,
  4107.             /* [in] */ VARIANT *pDispParams,
  4108.             /* [out][in] */ VARIANT *pvarResult,
  4109.             /* [out] */ short *puArgErr) = 0;
  4110.         
  4111.         virtual HRESULT STDMETHODCALLTYPE InvokeAtPresentationTime( 
  4112.             /* [out] */ IDeferredCommand **pCmd,
  4113.             /* [in] */ REFTIME time,
  4114.             /* [in] */ GUID *iid,
  4115.             /* [in] */ long dispidMethod,
  4116.             /* [in] */ short wFlags,
  4117.             /* [in] */ long cArgs,
  4118.             /* [in] */ VARIANT *pDispParams,
  4119.             /* [out][in] */ VARIANT *pvarResult,
  4120.             /* [out] */ short *puArgErr) = 0;
  4121.         
  4122.     };
  4123.     
  4124. #else     /* C style interface */
  4125.  
  4126.     typedef struct IQueueCommandVtbl
  4127.     {
  4128.         BEGIN_INTERFACE
  4129.         
  4130.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  4131.             IQueueCommand * This,
  4132.             /* [in] */ REFIID riid,
  4133.             /* [iid_is][out] */ void **ppvObject);
  4134.         
  4135.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  4136.             IQueueCommand * This);
  4137.         
  4138.         ULONG ( STDMETHODCALLTYPE *Release )( 
  4139.             IQueueCommand * This);
  4140.         
  4141.         HRESULT ( STDMETHODCALLTYPE *InvokeAtStreamTime )( 
  4142.             IQueueCommand * This,
  4143.             /* [out] */ IDeferredCommand **pCmd,
  4144.             /* [in] */ REFTIME time,
  4145.             /* [in] */ GUID *iid,
  4146.             /* [in] */ long dispidMethod,
  4147.             /* [in] */ short wFlags,
  4148.             /* [in] */ long cArgs,
  4149.             /* [in] */ VARIANT *pDispParams,
  4150.             /* [out][in] */ VARIANT *pvarResult,
  4151.             /* [out] */ short *puArgErr);
  4152.         
  4153.         HRESULT ( STDMETHODCALLTYPE *InvokeAtPresentationTime )( 
  4154.             IQueueCommand * This,
  4155.             /* [out] */ IDeferredCommand **pCmd,
  4156.             /* [in] */ REFTIME time,
  4157.             /* [in] */ GUID *iid,
  4158.             /* [in] */ long dispidMethod,
  4159.             /* [in] */ short wFlags,
  4160.             /* [in] */ long cArgs,
  4161.             /* [in] */ VARIANT *pDispParams,
  4162.             /* [out][in] */ VARIANT *pvarResult,
  4163.             /* [out] */ short *puArgErr);
  4164.         
  4165.         END_INTERFACE
  4166.     } IQueueCommandVtbl;
  4167.  
  4168.     interface IQueueCommand
  4169.     {
  4170.         CONST_VTBL struct IQueueCommandVtbl *lpVtbl;
  4171.     };
  4172.  
  4173.     
  4174.  
  4175. #ifdef COBJMACROS
  4176.  
  4177.  
  4178. #define IQueueCommand_QueryInterface(This,riid,ppvObject)    \
  4179.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4180.  
  4181. #define IQueueCommand_AddRef(This)    \
  4182.     (This)->lpVtbl -> AddRef(This)
  4183.  
  4184. #define IQueueCommand_Release(This)    \
  4185.     (This)->lpVtbl -> Release(This)
  4186.  
  4187.  
  4188. #define IQueueCommand_InvokeAtStreamTime(This,pCmd,time,iid,dispidMethod,wFlags,cArgs,pDispParams,pvarResult,puArgErr)    \
  4189.     (This)->lpVtbl -> InvokeAtStreamTime(This,pCmd,time,iid,dispidMethod,wFlags,cArgs,pDispParams,pvarResult,puArgErr)
  4190.  
  4191. #define IQueueCommand_InvokeAtPresentationTime(This,pCmd,time,iid,dispidMethod,wFlags,cArgs,pDispParams,pvarResult,puArgErr)    \
  4192.     (This)->lpVtbl -> InvokeAtPresentationTime(This,pCmd,time,iid,dispidMethod,wFlags,cArgs,pDispParams,pvarResult,puArgErr)
  4193.  
  4194. #endif /* COBJMACROS */
  4195.  
  4196.  
  4197. #endif     /* C style interface */
  4198.  
  4199.  
  4200.  
  4201. HRESULT STDMETHODCALLTYPE IQueueCommand_InvokeAtStreamTime_Proxy( 
  4202.     IQueueCommand * This,
  4203.     /* [out] */ IDeferredCommand **pCmd,
  4204.     /* [in] */ REFTIME time,
  4205.     /* [in] */ GUID *iid,
  4206.     /* [in] */ long dispidMethod,
  4207.     /* [in] */ short wFlags,
  4208.     /* [in] */ long cArgs,
  4209.     /* [in] */ VARIANT *pDispParams,
  4210.     /* [out][in] */ VARIANT *pvarResult,
  4211.     /* [out] */ short *puArgErr);
  4212.  
  4213.  
  4214. void __RPC_STUB IQueueCommand_InvokeAtStreamTime_Stub(
  4215.     IRpcStubBuffer *This,
  4216.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4217.     PRPC_MESSAGE _pRpcMessage,
  4218.     DWORD *_pdwStubPhase);
  4219.  
  4220.  
  4221. HRESULT STDMETHODCALLTYPE IQueueCommand_InvokeAtPresentationTime_Proxy( 
  4222.     IQueueCommand * This,
  4223.     /* [out] */ IDeferredCommand **pCmd,
  4224.     /* [in] */ REFTIME time,
  4225.     /* [in] */ GUID *iid,
  4226.     /* [in] */ long dispidMethod,
  4227.     /* [in] */ short wFlags,
  4228.     /* [in] */ long cArgs,
  4229.     /* [in] */ VARIANT *pDispParams,
  4230.     /* [out][in] */ VARIANT *pvarResult,
  4231.     /* [out] */ short *puArgErr);
  4232.  
  4233.  
  4234. void __RPC_STUB IQueueCommand_InvokeAtPresentationTime_Stub(
  4235.     IRpcStubBuffer *This,
  4236.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4237.     PRPC_MESSAGE _pRpcMessage,
  4238.     DWORD *_pdwStubPhase);
  4239.  
  4240.  
  4241.  
  4242. #endif     /* __IQueueCommand_INTERFACE_DEFINED__ */
  4243.  
  4244.  
  4245. DEFINE_GUID(CLSID_FilgraphManager,0xe436ebb3,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);
  4246.  
  4247. #ifdef __cplusplus
  4248.  
  4249. class DECLSPEC_UUID("e436ebb3-524f-11ce-9f53-0020af0ba770")
  4250. FilgraphManager;
  4251. #endif
  4252.  
  4253. #ifndef __IFilterInfo_INTERFACE_DEFINED__
  4254. #define __IFilterInfo_INTERFACE_DEFINED__
  4255.  
  4256. /* interface IFilterInfo */
  4257. /* [object][dual][oleautomation][helpstring][uuid] */ 
  4258.  
  4259.  
  4260. DEFINE_GUID(IID_IFilterInfo,0x56a868ba,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
  4261.  
  4262. #if defined(__cplusplus) && !defined(CINTERFACE)
  4263.     
  4264.     MIDL_INTERFACE("56a868ba-0ad4-11ce-b03a-0020af0ba770")
  4265.     IFilterInfo : public IDispatch
  4266.     {
  4267.     public:
  4268.         virtual HRESULT STDMETHODCALLTYPE FindPin( 
  4269.             /* [in] */ BSTR strPinID,
  4270.             /* [out] */ IDispatch **ppUnk) = 0;
  4271.         
  4272.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
  4273.             /* [retval][out] */ BSTR *strName) = 0;
  4274.         
  4275.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_VendorInfo( 
  4276.             /* [retval][out] */ BSTR *strVendorInfo) = 0;
  4277.         
  4278.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Filter( 
  4279.             /* [retval][out] */ IUnknown **ppUnk) = 0;
  4280.         
  4281.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Pins( 
  4282.             /* [retval][out] */ IDispatch **ppUnk) = 0;
  4283.         
  4284.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsFileSource( 
  4285.             /* [retval][out] */ LONG *pbIsSource) = 0;
  4286.         
  4287.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Filename( 
  4288.             /* [retval][out] */ BSTR *pstrFilename) = 0;
  4289.         
  4290.         virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Filename( 
  4291.             /* [in] */ BSTR strFilename) = 0;
  4292.         
  4293.     };
  4294.     
  4295. #else     /* C style interface */
  4296.  
  4297.     typedef struct IFilterInfoVtbl
  4298.     {
  4299.         BEGIN_INTERFACE
  4300.         
  4301.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  4302.             IFilterInfo * This,
  4303.             /* [in] */ REFIID riid,
  4304.             /* [iid_is][out] */ void **ppvObject);
  4305.         
  4306.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  4307.             IFilterInfo * This);
  4308.         
  4309.         ULONG ( STDMETHODCALLTYPE *Release )( 
  4310.             IFilterInfo * This);
  4311.         
  4312.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  4313.             IFilterInfo * This,
  4314.             /* [out] */ UINT *pctinfo);
  4315.         
  4316.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  4317.             IFilterInfo * This,
  4318.             /* [in] */ UINT iTInfo,
  4319.             /* [in] */ LCID lcid,
  4320.             /* [out] */ ITypeInfo **ppTInfo);
  4321.         
  4322.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  4323.             IFilterInfo * This,
  4324.             /* [in] */ REFIID riid,
  4325.             /* [size_is][in] */ LPOLESTR *rgszNames,
  4326.             /* [in] */ UINT cNames,
  4327.             /* [in] */ LCID lcid,
  4328.             /* [size_is][out] */ DISPID *rgDispId);
  4329.         
  4330.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  4331.             IFilterInfo * This,
  4332.             /* [in] */ DISPID dispIdMember,
  4333.             /* [in] */ REFIID riid,
  4334.             /* [in] */ LCID lcid,
  4335.             /* [in] */ WORD wFlags,
  4336.             /* [out][in] */ DISPPARAMS *pDispParams,
  4337.             /* [out] */ VARIANT *pVarResult,
  4338.             /* [out] */ EXCEPINFO *pExcepInfo,
  4339.             /* [out] */ UINT *puArgErr);
  4340.         
  4341.         HRESULT ( STDMETHODCALLTYPE *FindPin )( 
  4342.             IFilterInfo * This,
  4343.             /* [in] */ BSTR strPinID,
  4344.             /* [out] */ IDispatch **ppUnk);
  4345.         
  4346.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
  4347.             IFilterInfo * This,
  4348.             /* [retval][out] */ BSTR *strName);
  4349.         
  4350.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_VendorInfo )( 
  4351.             IFilterInfo * This,
  4352.             /* [retval][out] */ BSTR *strVendorInfo);
  4353.         
  4354.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Filter )( 
  4355.             IFilterInfo * This,
  4356.             /* [retval][out] */ IUnknown **ppUnk);
  4357.         
  4358.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Pins )( 
  4359.             IFilterInfo * This,
  4360.             /* [retval][out] */ IDispatch **ppUnk);
  4361.         
  4362.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsFileSource )( 
  4363.             IFilterInfo * This,
  4364.             /* [retval][out] */ LONG *pbIsSource);
  4365.         
  4366.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Filename )( 
  4367.             IFilterInfo * This,
  4368.             /* [retval][out] */ BSTR *pstrFilename);
  4369.         
  4370.         /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Filename )( 
  4371.             IFilterInfo * This,
  4372.             /* [in] */ BSTR strFilename);
  4373.         
  4374.         END_INTERFACE
  4375.     } IFilterInfoVtbl;
  4376.  
  4377.     interface IFilterInfo
  4378.     {
  4379.         CONST_VTBL struct IFilterInfoVtbl *lpVtbl;
  4380.     };
  4381.  
  4382.     
  4383.  
  4384. #ifdef COBJMACROS
  4385.  
  4386.  
  4387. #define IFilterInfo_QueryInterface(This,riid,ppvObject)    \
  4388.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4389.  
  4390. #define IFilterInfo_AddRef(This)    \
  4391.     (This)->lpVtbl -> AddRef(This)
  4392.  
  4393. #define IFilterInfo_Release(This)    \
  4394.     (This)->lpVtbl -> Release(This)
  4395.  
  4396.  
  4397. #define IFilterInfo_GetTypeInfoCount(This,pctinfo)    \
  4398.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  4399.  
  4400. #define IFilterInfo_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  4401.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  4402.  
  4403. #define IFilterInfo_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  4404.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  4405.  
  4406. #define IFilterInfo_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  4407.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  4408.  
  4409.  
  4410. #define IFilterInfo_FindPin(This,strPinID,ppUnk)    \
  4411.     (This)->lpVtbl -> FindPin(This,strPinID,ppUnk)
  4412.  
  4413. #define IFilterInfo_get_Name(This,strName)    \
  4414.     (This)->lpVtbl -> get_Name(This,strName)
  4415.  
  4416. #define IFilterInfo_get_VendorInfo(This,strVendorInfo)    \
  4417.     (This)->lpVtbl -> get_VendorInfo(This,strVendorInfo)
  4418.  
  4419. #define IFilterInfo_get_Filter(This,ppUnk)    \
  4420.     (This)->lpVtbl -> get_Filter(This,ppUnk)
  4421.  
  4422. #define IFilterInfo_get_Pins(This,ppUnk)    \
  4423.     (This)->lpVtbl -> get_Pins(This,ppUnk)
  4424.  
  4425. #define IFilterInfo_get_IsFileSource(This,pbIsSource)    \
  4426.     (This)->lpVtbl -> get_IsFileSource(This,pbIsSource)
  4427.  
  4428. #define IFilterInfo_get_Filename(This,pstrFilename)    \
  4429.     (This)->lpVtbl -> get_Filename(This,pstrFilename)
  4430.  
  4431. #define IFilterInfo_put_Filename(This,strFilename)    \
  4432.     (This)->lpVtbl -> put_Filename(This,strFilename)
  4433.  
  4434. #endif /* COBJMACROS */
  4435.  
  4436.  
  4437. #endif     /* C style interface */
  4438.  
  4439.  
  4440.  
  4441. HRESULT STDMETHODCALLTYPE IFilterInfo_FindPin_Proxy( 
  4442.     IFilterInfo * This,
  4443.     /* [in] */ BSTR strPinID,
  4444.     /* [out] */ IDispatch **ppUnk);
  4445.  
  4446.  
  4447. void __RPC_STUB IFilterInfo_FindPin_Stub(
  4448.     IRpcStubBuffer *This,
  4449.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4450.     PRPC_MESSAGE _pRpcMessage,
  4451.     DWORD *_pdwStubPhase);
  4452.  
  4453.  
  4454. /* [propget] */ HRESULT STDMETHODCALLTYPE IFilterInfo_get_Name_Proxy( 
  4455.     IFilterInfo * This,
  4456.     /* [retval][out] */ BSTR *strName);
  4457.  
  4458.  
  4459. void __RPC_STUB IFilterInfo_get_Name_Stub(
  4460.     IRpcStubBuffer *This,
  4461.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4462.     PRPC_MESSAGE _pRpcMessage,
  4463.     DWORD *_pdwStubPhase);
  4464.  
  4465.  
  4466. /* [propget] */ HRESULT STDMETHODCALLTYPE IFilterInfo_get_VendorInfo_Proxy( 
  4467.     IFilterInfo * This,
  4468.     /* [retval][out] */ BSTR *strVendorInfo);
  4469.  
  4470.  
  4471. void __RPC_STUB IFilterInfo_get_VendorInfo_Stub(
  4472.     IRpcStubBuffer *This,
  4473.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4474.     PRPC_MESSAGE _pRpcMessage,
  4475.     DWORD *_pdwStubPhase);
  4476.  
  4477.  
  4478. /* [propget] */ HRESULT STDMETHODCALLTYPE IFilterInfo_get_Filter_Proxy( 
  4479.     IFilterInfo * This,
  4480.     /* [retval][out] */ IUnknown **ppUnk);
  4481.  
  4482.  
  4483. void __RPC_STUB IFilterInfo_get_Filter_Stub(
  4484.     IRpcStubBuffer *This,
  4485.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4486.     PRPC_MESSAGE _pRpcMessage,
  4487.     DWORD *_pdwStubPhase);
  4488.  
  4489.  
  4490. /* [propget] */ HRESULT STDMETHODCALLTYPE IFilterInfo_get_Pins_Proxy( 
  4491.     IFilterInfo * This,
  4492.     /* [retval][out] */ IDispatch **ppUnk);
  4493.  
  4494.  
  4495. void __RPC_STUB IFilterInfo_get_Pins_Stub(
  4496.     IRpcStubBuffer *This,
  4497.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4498.     PRPC_MESSAGE _pRpcMessage,
  4499.     DWORD *_pdwStubPhase);
  4500.  
  4501.  
  4502. /* [propget] */ HRESULT STDMETHODCALLTYPE IFilterInfo_get_IsFileSource_Proxy( 
  4503.     IFilterInfo * This,
  4504.     /* [retval][out] */ LONG *pbIsSource);
  4505.  
  4506.  
  4507. void __RPC_STUB IFilterInfo_get_IsFileSource_Stub(
  4508.     IRpcStubBuffer *This,
  4509.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4510.     PRPC_MESSAGE _pRpcMessage,
  4511.     DWORD *_pdwStubPhase);
  4512.  
  4513.  
  4514. /* [propget] */ HRESULT STDMETHODCALLTYPE IFilterInfo_get_Filename_Proxy( 
  4515.     IFilterInfo * This,
  4516.     /* [retval][out] */ BSTR *pstrFilename);
  4517.  
  4518.  
  4519. void __RPC_STUB IFilterInfo_get_Filename_Stub(
  4520.     IRpcStubBuffer *This,
  4521.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4522.     PRPC_MESSAGE _pRpcMessage,
  4523.     DWORD *_pdwStubPhase);
  4524.  
  4525.  
  4526. /* [propput] */ HRESULT STDMETHODCALLTYPE IFilterInfo_put_Filename_Proxy( 
  4527.     IFilterInfo * This,
  4528.     /* [in] */ BSTR strFilename);
  4529.  
  4530.  
  4531. void __RPC_STUB IFilterInfo_put_Filename_Stub(
  4532.     IRpcStubBuffer *This,
  4533.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4534.     PRPC_MESSAGE _pRpcMessage,
  4535.     DWORD *_pdwStubPhase);
  4536.  
  4537.  
  4538.  
  4539. #endif     /* __IFilterInfo_INTERFACE_DEFINED__ */
  4540.  
  4541.  
  4542. #ifndef __IRegFilterInfo_INTERFACE_DEFINED__
  4543. #define __IRegFilterInfo_INTERFACE_DEFINED__
  4544.  
  4545. /* interface IRegFilterInfo */
  4546. /* [object][dual][oleautomation][helpstring][uuid] */ 
  4547.  
  4548.  
  4549. DEFINE_GUID(IID_IRegFilterInfo,0x56a868bb,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
  4550.  
  4551. #if defined(__cplusplus) && !defined(CINTERFACE)
  4552.     
  4553.     MIDL_INTERFACE("56a868bb-0ad4-11ce-b03a-0020af0ba770")
  4554.     IRegFilterInfo : public IDispatch
  4555.     {
  4556.     public:
  4557.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
  4558.             /* [retval][out] */ BSTR *strName) = 0;
  4559.         
  4560.         virtual HRESULT STDMETHODCALLTYPE Filter( 
  4561.             /* [out] */ IDispatch **ppUnk) = 0;
  4562.         
  4563.     };
  4564.     
  4565. #else     /* C style interface */
  4566.  
  4567.     typedef struct IRegFilterInfoVtbl
  4568.     {
  4569.         BEGIN_INTERFACE
  4570.         
  4571.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  4572.             IRegFilterInfo * This,
  4573.             /* [in] */ REFIID riid,
  4574.             /* [iid_is][out] */ void **ppvObject);
  4575.         
  4576.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  4577.             IRegFilterInfo * This);
  4578.         
  4579.         ULONG ( STDMETHODCALLTYPE *Release )( 
  4580.             IRegFilterInfo * This);
  4581.         
  4582.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  4583.             IRegFilterInfo * This,
  4584.             /* [out] */ UINT *pctinfo);
  4585.         
  4586.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  4587.             IRegFilterInfo * This,
  4588.             /* [in] */ UINT iTInfo,
  4589.             /* [in] */ LCID lcid,
  4590.             /* [out] */ ITypeInfo **ppTInfo);
  4591.         
  4592.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  4593.             IRegFilterInfo * This,
  4594.             /* [in] */ REFIID riid,
  4595.             /* [size_is][in] */ LPOLESTR *rgszNames,
  4596.             /* [in] */ UINT cNames,
  4597.             /* [in] */ LCID lcid,
  4598.             /* [size_is][out] */ DISPID *rgDispId);
  4599.         
  4600.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  4601.             IRegFilterInfo * This,
  4602.             /* [in] */ DISPID dispIdMember,
  4603.             /* [in] */ REFIID riid,
  4604.             /* [in] */ LCID lcid,
  4605.             /* [in] */ WORD wFlags,
  4606.             /* [out][in] */ DISPPARAMS *pDispParams,
  4607.             /* [out] */ VARIANT *pVarResult,
  4608.             /* [out] */ EXCEPINFO *pExcepInfo,
  4609.             /* [out] */ UINT *puArgErr);
  4610.         
  4611.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
  4612.             IRegFilterInfo * This,
  4613.             /* [retval][out] */ BSTR *strName);
  4614.         
  4615.         HRESULT ( STDMETHODCALLTYPE *Filter )( 
  4616.             IRegFilterInfo * This,
  4617.             /* [out] */ IDispatch **ppUnk);
  4618.         
  4619.         END_INTERFACE
  4620.     } IRegFilterInfoVtbl;
  4621.  
  4622.     interface IRegFilterInfo
  4623.     {
  4624.         CONST_VTBL struct IRegFilterInfoVtbl *lpVtbl;
  4625.     };
  4626.  
  4627.     
  4628.  
  4629. #ifdef COBJMACROS
  4630.  
  4631.  
  4632. #define IRegFilterInfo_QueryInterface(This,riid,ppvObject)    \
  4633.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4634.  
  4635. #define IRegFilterInfo_AddRef(This)    \
  4636.     (This)->lpVtbl -> AddRef(This)
  4637.  
  4638. #define IRegFilterInfo_Release(This)    \
  4639.     (This)->lpVtbl -> Release(This)
  4640.  
  4641.  
  4642. #define IRegFilterInfo_GetTypeInfoCount(This,pctinfo)    \
  4643.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  4644.  
  4645. #define IRegFilterInfo_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  4646.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  4647.  
  4648. #define IRegFilterInfo_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  4649.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  4650.  
  4651. #define IRegFilterInfo_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  4652.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  4653.  
  4654.  
  4655. #define IRegFilterInfo_get_Name(This,strName)    \
  4656.     (This)->lpVtbl -> get_Name(This,strName)
  4657.  
  4658. #define IRegFilterInfo_Filter(This,ppUnk)    \
  4659.     (This)->lpVtbl -> Filter(This,ppUnk)
  4660.  
  4661. #endif /* COBJMACROS */
  4662.  
  4663.  
  4664. #endif     /* C style interface */
  4665.  
  4666.  
  4667.  
  4668. /* [propget] */ HRESULT STDMETHODCALLTYPE IRegFilterInfo_get_Name_Proxy( 
  4669.     IRegFilterInfo * This,
  4670.     /* [retval][out] */ BSTR *strName);
  4671.  
  4672.  
  4673. void __RPC_STUB IRegFilterInfo_get_Name_Stub(
  4674.     IRpcStubBuffer *This,
  4675.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4676.     PRPC_MESSAGE _pRpcMessage,
  4677.     DWORD *_pdwStubPhase);
  4678.  
  4679.  
  4680. HRESULT STDMETHODCALLTYPE IRegFilterInfo_Filter_Proxy( 
  4681.     IRegFilterInfo * This,
  4682.     /* [out] */ IDispatch **ppUnk);
  4683.  
  4684.  
  4685. void __RPC_STUB IRegFilterInfo_Filter_Stub(
  4686.     IRpcStubBuffer *This,
  4687.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4688.     PRPC_MESSAGE _pRpcMessage,
  4689.     DWORD *_pdwStubPhase);
  4690.  
  4691.  
  4692.  
  4693. #endif     /* __IRegFilterInfo_INTERFACE_DEFINED__ */
  4694.  
  4695.  
  4696. #ifndef __IMediaTypeInfo_INTERFACE_DEFINED__
  4697. #define __IMediaTypeInfo_INTERFACE_DEFINED__
  4698.  
  4699. /* interface IMediaTypeInfo */
  4700. /* [object][dual][oleautomation][helpstring][uuid] */ 
  4701.  
  4702.  
  4703. DEFINE_GUID(IID_IMediaTypeInfo,0x56a868bc,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
  4704.  
  4705. #if defined(__cplusplus) && !defined(CINTERFACE)
  4706.     
  4707.     MIDL_INTERFACE("56a868bc-0ad4-11ce-b03a-0020af0ba770")
  4708.     IMediaTypeInfo : public IDispatch
  4709.     {
  4710.     public:
  4711.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Type( 
  4712.             /* [retval][out] */ BSTR *strType) = 0;
  4713.         
  4714.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Subtype( 
  4715.             /* [retval][out] */ BSTR *strType) = 0;
  4716.         
  4717.     };
  4718.     
  4719. #else     /* C style interface */
  4720.  
  4721.     typedef struct IMediaTypeInfoVtbl
  4722.     {
  4723.         BEGIN_INTERFACE
  4724.         
  4725.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  4726.             IMediaTypeInfo * This,
  4727.             /* [in] */ REFIID riid,
  4728.             /* [iid_is][out] */ void **ppvObject);
  4729.         
  4730.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  4731.             IMediaTypeInfo * This);
  4732.         
  4733.         ULONG ( STDMETHODCALLTYPE *Release )( 
  4734.             IMediaTypeInfo * This);
  4735.         
  4736.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  4737.             IMediaTypeInfo * This,
  4738.             /* [out] */ UINT *pctinfo);
  4739.         
  4740.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  4741.             IMediaTypeInfo * This,
  4742.             /* [in] */ UINT iTInfo,
  4743.             /* [in] */ LCID lcid,
  4744.             /* [out] */ ITypeInfo **ppTInfo);
  4745.         
  4746.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  4747.             IMediaTypeInfo * This,
  4748.             /* [in] */ REFIID riid,
  4749.             /* [size_is][in] */ LPOLESTR *rgszNames,
  4750.             /* [in] */ UINT cNames,
  4751.             /* [in] */ LCID lcid,
  4752.             /* [size_is][out] */ DISPID *rgDispId);
  4753.         
  4754.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  4755.             IMediaTypeInfo * This,
  4756.             /* [in] */ DISPID dispIdMember,
  4757.             /* [in] */ REFIID riid,
  4758.             /* [in] */ LCID lcid,
  4759.             /* [in] */ WORD wFlags,
  4760.             /* [out][in] */ DISPPARAMS *pDispParams,
  4761.             /* [out] */ VARIANT *pVarResult,
  4762.             /* [out] */ EXCEPINFO *pExcepInfo,
  4763.             /* [out] */ UINT *puArgErr);
  4764.         
  4765.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
  4766.             IMediaTypeInfo * This,
  4767.             /* [retval][out] */ BSTR *strType);
  4768.         
  4769.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Subtype )( 
  4770.             IMediaTypeInfo * This,
  4771.             /* [retval][out] */ BSTR *strType);
  4772.         
  4773.         END_INTERFACE
  4774.     } IMediaTypeInfoVtbl;
  4775.  
  4776.     interface IMediaTypeInfo
  4777.     {
  4778.         CONST_VTBL struct IMediaTypeInfoVtbl *lpVtbl;
  4779.     };
  4780.  
  4781.     
  4782.  
  4783. #ifdef COBJMACROS
  4784.  
  4785.  
  4786. #define IMediaTypeInfo_QueryInterface(This,riid,ppvObject)    \
  4787.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4788.  
  4789. #define IMediaTypeInfo_AddRef(This)    \
  4790.     (This)->lpVtbl -> AddRef(This)
  4791.  
  4792. #define IMediaTypeInfo_Release(This)    \
  4793.     (This)->lpVtbl -> Release(This)
  4794.  
  4795.  
  4796. #define IMediaTypeInfo_GetTypeInfoCount(This,pctinfo)    \
  4797.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  4798.  
  4799. #define IMediaTypeInfo_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  4800.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  4801.  
  4802. #define IMediaTypeInfo_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  4803.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  4804.  
  4805. #define IMediaTypeInfo_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  4806.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  4807.  
  4808.  
  4809. #define IMediaTypeInfo_get_Type(This,strType)    \
  4810.     (This)->lpVtbl -> get_Type(This,strType)
  4811.  
  4812. #define IMediaTypeInfo_get_Subtype(This,strType)    \
  4813.     (This)->lpVtbl -> get_Subtype(This,strType)
  4814.  
  4815. #endif /* COBJMACROS */
  4816.  
  4817.  
  4818. #endif     /* C style interface */
  4819.  
  4820.  
  4821.  
  4822. /* [propget] */ HRESULT STDMETHODCALLTYPE IMediaTypeInfo_get_Type_Proxy( 
  4823.     IMediaTypeInfo * This,
  4824.     /* [retval][out] */ BSTR *strType);
  4825.  
  4826.  
  4827. void __RPC_STUB IMediaTypeInfo_get_Type_Stub(
  4828.     IRpcStubBuffer *This,
  4829.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4830.     PRPC_MESSAGE _pRpcMessage,
  4831.     DWORD *_pdwStubPhase);
  4832.  
  4833.  
  4834. /* [propget] */ HRESULT STDMETHODCALLTYPE IMediaTypeInfo_get_Subtype_Proxy( 
  4835.     IMediaTypeInfo * This,
  4836.     /* [retval][out] */ BSTR *strType);
  4837.  
  4838.  
  4839. void __RPC_STUB IMediaTypeInfo_get_Subtype_Stub(
  4840.     IRpcStubBuffer *This,
  4841.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4842.     PRPC_MESSAGE _pRpcMessage,
  4843.     DWORD *_pdwStubPhase);
  4844.  
  4845.  
  4846.  
  4847. #endif     /* __IMediaTypeInfo_INTERFACE_DEFINED__ */
  4848.  
  4849.  
  4850. #ifndef __IPinInfo_INTERFACE_DEFINED__
  4851. #define __IPinInfo_INTERFACE_DEFINED__
  4852.  
  4853. /* interface IPinInfo */
  4854. /* [object][dual][oleautomation][helpstring][uuid] */ 
  4855.  
  4856.  
  4857. DEFINE_GUID(IID_IPinInfo,0x56a868bd,0x0ad4,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0x0b,0xa7,0x70);
  4858.  
  4859. #if defined(__cplusplus) && !defined(CINTERFACE)
  4860.     
  4861.     MIDL_INTERFACE("56a868bd-0ad4-11ce-b03a-0020af0ba770")
  4862.     IPinInfo : public IDispatch
  4863.     {
  4864.     public:
  4865.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Pin( 
  4866.             /* [retval][out] */ IUnknown **ppUnk) = 0;
  4867.         
  4868.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ConnectedTo( 
  4869.             /* [retval][out] */ IDispatch **ppUnk) = 0;
  4870.         
  4871.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ConnectionMediaType( 
  4872.             /* [retval][out] */ IDispatch **ppUnk) = 0;
  4873.         
  4874.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FilterInfo( 
  4875.             /* [retval][out] */ IDispatch **ppUnk) = 0;
  4876.         
  4877.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
  4878.             /* [retval][out] */ BSTR *ppUnk) = 0;
  4879.         
  4880.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Direction( 
  4881.             /* [retval][out] */ LONG *ppDirection) = 0;
  4882.         
  4883.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PinID( 
  4884.             /* [retval][out] */ BSTR *strPinID) = 0;
  4885.         
  4886.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MediaTypes( 
  4887.             /* [retval][out] */ IDispatch **ppUnk) = 0;
  4888.         
  4889.         virtual HRESULT STDMETHODCALLTYPE Connect( 
  4890.             /* [in] */ IUnknown *pPin) = 0;
  4891.         
  4892.         virtual HRESULT STDMETHODCALLTYPE ConnectDirect( 
  4893.             /* [in] */ IUnknown *pPin) = 0;
  4894.         
  4895.         virtual HRESULT STDMETHODCALLTYPE ConnectWithType( 
  4896.             /* [in] */ IUnknown *pPin,
  4897.             /* [in] */ IDispatch *pMediaType) = 0;
  4898.         
  4899.         virtual HRESULT STDMETHODCALLTYPE Disconnect( void) = 0;
  4900.         
  4901.         virtual HRESULT STDMETHODCALLTYPE Render( void) = 0;
  4902.         
  4903.     };
  4904.     
  4905. #else     /* C style interface */
  4906.  
  4907.     typedef struct IPinInfoVtbl
  4908.     {
  4909.         BEGIN_INTERFACE
  4910.         
  4911.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  4912.             IPinInfo * This,
  4913.             /* [in] */ REFIID riid,
  4914.             /* [iid_is][out] */ void **ppvObject);
  4915.         
  4916.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  4917.             IPinInfo * This);
  4918.         
  4919.         ULONG ( STDMETHODCALLTYPE *Release )( 
  4920.             IPinInfo * This);
  4921.         
  4922.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  4923.             IPinInfo * This,
  4924.             /* [out] */ UINT *pctinfo);
  4925.         
  4926.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  4927.             IPinInfo * This,
  4928.             /* [in] */ UINT iTInfo,
  4929.             /* [in] */ LCID lcid,
  4930.             /* [out] */ ITypeInfo **ppTInfo);
  4931.         
  4932.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  4933.             IPinInfo * This,
  4934.             /* [in] */ REFIID riid,
  4935.             /* [size_is][in] */ LPOLESTR *rgszNames,
  4936.             /* [in] */ UINT cNames,
  4937.             /* [in] */ LCID lcid,
  4938.             /* [size_is][out] */ DISPID *rgDispId);
  4939.         
  4940.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  4941.             IPinInfo * This,
  4942.             /* [in] */ DISPID dispIdMember,
  4943.             /* [in] */ REFIID riid,
  4944.             /* [in] */ LCID lcid,
  4945.             /* [in] */ WORD wFlags,
  4946.             /* [out][in] */ DISPPARAMS *pDispParams,
  4947.             /* [out] */ VARIANT *pVarResult,
  4948.             /* [out] */ EXCEPINFO *pExcepInfo,
  4949.             /* [out] */ UINT *puArgErr);
  4950.         
  4951.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Pin )( 
  4952.             IPinInfo * This,
  4953.             /* [retval][out] */ IUnknown **ppUnk);
  4954.         
  4955.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectedTo )( 
  4956.             IPinInfo * This,
  4957.             /* [retval][out] */ IDispatch **ppUnk);
  4958.         
  4959.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ConnectionMediaType )( 
  4960.             IPinInfo * This,
  4961.             /* [retval][out] */ IDispatch **ppUnk);
  4962.         
  4963.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FilterInfo )( 
  4964.             IPinInfo * This,
  4965.             /* [retval][out] */ IDispatch **ppUnk);
  4966.         
  4967.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
  4968.             IPinInfo * This,
  4969.             /* [retval][out] */ BSTR *ppUnk);
  4970.         
  4971.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Direction )( 
  4972.             IPinInfo * This,
  4973.             /* [retval][out] */ LONG *ppDirection);
  4974.         
  4975.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PinID )( 
  4976.             IPinInfo * This,
  4977.             /* [retval][out] */ BSTR *strPinID);
  4978.         
  4979.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MediaTypes )( 
  4980.             IPinInfo * This,
  4981.             /* [retval][out] */ IDispatch **ppUnk);
  4982.         
  4983.         HRESULT ( STDMETHODCALLTYPE *Connect )( 
  4984.             IPinInfo * This,
  4985.             /* [in] */ IUnknown *pPin);
  4986.         
  4987.         HRESULT ( STDMETHODCALLTYPE *ConnectDirect )( 
  4988.             IPinInfo * This,
  4989.             /* [in] */ IUnknown *pPin);
  4990.         
  4991.         HRESULT ( STDMETHODCALLTYPE *ConnectWithType )( 
  4992.             IPinInfo * This,
  4993.             /* [in] */ IUnknown *pPin,
  4994.             /* [in] */ IDispatch *pMediaType);
  4995.         
  4996.         HRESULT ( STDMETHODCALLTYPE *Disconnect )( 
  4997.             IPinInfo * This);
  4998.         
  4999.         HRESULT ( STDMETHODCALLTYPE *Render )( 
  5000.             IPinInfo * This);
  5001.         
  5002.         END_INTERFACE
  5003.     } IPinInfoVtbl;
  5004.  
  5005.     interface IPinInfo
  5006.     {
  5007.         CONST_VTBL struct IPinInfoVtbl *lpVtbl;
  5008.     };
  5009.  
  5010.     
  5011.  
  5012. #ifdef COBJMACROS
  5013.  
  5014.  
  5015. #define IPinInfo_QueryInterface(This,riid,ppvObject)    \
  5016.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5017.  
  5018. #define IPinInfo_AddRef(This)    \
  5019.     (This)->lpVtbl -> AddRef(This)
  5020.  
  5021. #define IPinInfo_Release(This)    \
  5022.     (This)->lpVtbl -> Release(This)
  5023.  
  5024.  
  5025. #define IPinInfo_GetTypeInfoCount(This,pctinfo)    \
  5026.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  5027.  
  5028. #define IPinInfo_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  5029.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  5030.  
  5031. #define IPinInfo_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  5032.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  5033.  
  5034. #define IPinInfo_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  5035.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  5036.  
  5037.  
  5038. #define IPinInfo_get_Pin(This,ppUnk)    \
  5039.     (This)->lpVtbl -> get_Pin(This,ppUnk)
  5040.  
  5041. #define IPinInfo_get_ConnectedTo(This,ppUnk)    \
  5042.     (This)->lpVtbl -> get_ConnectedTo(This,ppUnk)
  5043.  
  5044. #define IPinInfo_get_ConnectionMediaType(This,ppUnk)    \
  5045.     (This)->lpVtbl -> get_ConnectionMediaType(This,ppUnk)
  5046.  
  5047. #define IPinInfo_get_FilterInfo(This,ppUnk)    \
  5048.     (This)->lpVtbl -> get_FilterInfo(This,ppUnk)
  5049.  
  5050. #define IPinInfo_get_Name(This,ppUnk)    \
  5051.     (This)->lpVtbl -> get_Name(This,ppUnk)
  5052.  
  5053. #define IPinInfo_get_Direction(This,ppDirection)    \
  5054.     (This)->lpVtbl -> get_Direction(This,ppDirection)
  5055.  
  5056. #define IPinInfo_get_PinID(This,strPinID)    \
  5057.     (This)->lpVtbl -> get_PinID(This,strPinID)
  5058.  
  5059. #define IPinInfo_get_MediaTypes(This,ppUnk)    \
  5060.     (This)->lpVtbl -> get_MediaTypes(This,ppUnk)
  5061.  
  5062. #define IPinInfo_Connect(This,pPin)    \
  5063.     (This)->lpVtbl -> Connect(This,pPin)
  5064.  
  5065. #define IPinInfo_ConnectDirect(This,pPin)    \
  5066.     (This)->lpVtbl -> ConnectDirect(This,pPin)
  5067.  
  5068. #define IPinInfo_ConnectWithType(This,pPin,pMediaType)    \
  5069.     (This)->lpVtbl -> ConnectWithType(This,pPin,pMediaType)
  5070.  
  5071. #define IPinInfo_Disconnect(This)    \
  5072.     (This)->lpVtbl -> Disconnect(This)
  5073.  
  5074. #define IPinInfo_Render(This)    \
  5075.     (This)->lpVtbl -> Render(This)
  5076.  
  5077. #endif /* COBJMACROS */
  5078.  
  5079.  
  5080. #endif     /* C style interface */
  5081.  
  5082.  
  5083.  
  5084. /* [propget] */ HRESULT STDMETHODCALLTYPE IPinInfo_get_Pin_Proxy( 
  5085.     IPinInfo * This,
  5086.     /* [retval][out] */ IUnknown **ppUnk);
  5087.  
  5088.  
  5089. void __RPC_STUB IPinInfo_get_Pin_Stub(
  5090.     IRpcStubBuffer *This,
  5091.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5092.     PRPC_MESSAGE _pRpcMessage,
  5093.     DWORD *_pdwStubPhase);
  5094.  
  5095.  
  5096. /* [propget] */ HRESULT STDMETHODCALLTYPE IPinInfo_get_ConnectedTo_Proxy( 
  5097.     IPinInfo * This,
  5098.     /* [retval][out] */ IDispatch **ppUnk);
  5099.  
  5100.  
  5101. void __RPC_STUB IPinInfo_get_ConnectedTo_Stub(
  5102.     IRpcStubBuffer *This,
  5103.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5104.     PRPC_MESSAGE _pRpcMessage,
  5105.     DWORD *_pdwStubPhase);
  5106.  
  5107.  
  5108. /* [propget] */ HRESULT STDMETHODCALLTYPE IPinInfo_get_ConnectionMediaType_Proxy( 
  5109.     IPinInfo * This,
  5110.     /* [retval][out] */ IDispatch **ppUnk);
  5111.  
  5112.  
  5113. void __RPC_STUB IPinInfo_get_ConnectionMediaType_Stub(
  5114.     IRpcStubBuffer *This,
  5115.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5116.     PRPC_MESSAGE _pRpcMessage,
  5117.     DWORD *_pdwStubPhase);
  5118.  
  5119.  
  5120. /* [propget] */ HRESULT STDMETHODCALLTYPE IPinInfo_get_FilterInfo_Proxy( 
  5121.     IPinInfo * This,
  5122.     /* [retval][out] */ IDispatch **ppUnk);
  5123.  
  5124.  
  5125. void __RPC_STUB IPinInfo_get_FilterInfo_Stub(
  5126.     IRpcStubBuffer *This,
  5127.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5128.     PRPC_MESSAGE _pRpcMessage,
  5129.     DWORD *_pdwStubPhase);
  5130.  
  5131.  
  5132. /* [propget] */ HRESULT STDMETHODCALLTYPE IPinInfo_get_Name_Proxy( 
  5133.     IPinInfo * This,
  5134.     /* [retval][out] */ BSTR *ppUnk);
  5135.  
  5136.  
  5137. void __RPC_STUB IPinInfo_get_Name_Stub(
  5138.     IRpcStubBuffer *This,
  5139.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5140.     PRPC_MESSAGE _pRpcMessage,
  5141.     DWORD *_pdwStubPhase);
  5142.  
  5143.  
  5144. /* [propget] */ HRESULT STDMETHODCALLTYPE IPinInfo_get_Direction_Proxy( 
  5145.     IPinInfo * This,
  5146.     /* [retval][out] */ LONG *ppDirection);
  5147.  
  5148.  
  5149. void __RPC_STUB IPinInfo_get_Direction_Stub(
  5150.     IRpcStubBuffer *This,
  5151.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5152.     PRPC_MESSAGE _pRpcMessage,
  5153.     DWORD *_pdwStubPhase);
  5154.  
  5155.  
  5156. /* [propget] */ HRESULT STDMETHODCALLTYPE IPinInfo_get_PinID_Proxy( 
  5157.     IPinInfo * This,
  5158.     /* [retval][out] */ BSTR *strPinID);
  5159.  
  5160.  
  5161. void __RPC_STUB IPinInfo_get_PinID_Stub(
  5162.     IRpcStubBuffer *This,
  5163.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5164.     PRPC_MESSAGE _pRpcMessage,
  5165.     DWORD *_pdwStubPhase);
  5166.  
  5167.  
  5168. /* [propget] */ HRESULT STDMETHODCALLTYPE IPinInfo_get_MediaTypes_Proxy( 
  5169.     IPinInfo * This,
  5170.     /* [retval][out] */ IDispatch **ppUnk);
  5171.  
  5172.  
  5173. void __RPC_STUB IPinInfo_get_MediaTypes_Stub(
  5174.     IRpcStubBuffer *This,
  5175.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5176.     PRPC_MESSAGE _pRpcMessage,
  5177.     DWORD *_pdwStubPhase);
  5178.  
  5179.  
  5180. HRESULT STDMETHODCALLTYPE IPinInfo_Connect_Proxy( 
  5181.     IPinInfo * This,
  5182.     /* [in] */ IUnknown *pPin);
  5183.  
  5184.  
  5185. void __RPC_STUB IPinInfo_Connect_Stub(
  5186.     IRpcStubBuffer *This,
  5187.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5188.     PRPC_MESSAGE _pRpcMessage,
  5189.     DWORD *_pdwStubPhase);
  5190.  
  5191.  
  5192. HRESULT STDMETHODCALLTYPE IPinInfo_ConnectDirect_Proxy( 
  5193.     IPinInfo * This,
  5194.     /* [in] */ IUnknown *pPin);
  5195.  
  5196.  
  5197. void __RPC_STUB IPinInfo_ConnectDirect_Stub(
  5198.     IRpcStubBuffer *This,
  5199.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5200.     PRPC_MESSAGE _pRpcMessage,
  5201.     DWORD *_pdwStubPhase);
  5202.  
  5203.  
  5204. HRESULT STDMETHODCALLTYPE IPinInfo_ConnectWithType_Proxy( 
  5205.     IPinInfo * This,
  5206.     /* [in] */ IUnknown *pPin,
  5207.     /* [in] */ IDispatch *pMediaType);
  5208.  
  5209.  
  5210. void __RPC_STUB IPinInfo_ConnectWithType_Stub(
  5211.     IRpcStubBuffer *This,
  5212.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5213.     PRPC_MESSAGE _pRpcMessage,
  5214.     DWORD *_pdwStubPhase);
  5215.  
  5216.  
  5217. HRESULT STDMETHODCALLTYPE IPinInfo_Disconnect_Proxy( 
  5218.     IPinInfo * This);
  5219.  
  5220.  
  5221. void __RPC_STUB IPinInfo_Disconnect_Stub(
  5222.     IRpcStubBuffer *This,
  5223.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5224.     PRPC_MESSAGE _pRpcMessage,
  5225.     DWORD *_pdwStubPhase);
  5226.  
  5227.  
  5228. HRESULT STDMETHODCALLTYPE IPinInfo_Render_Proxy( 
  5229.     IPinInfo * This);
  5230.  
  5231.  
  5232. void __RPC_STUB IPinInfo_Render_Stub(
  5233.     IRpcStubBuffer *This,
  5234.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5235.     PRPC_MESSAGE _pRpcMessage,
  5236.     DWORD *_pdwStubPhase);
  5237.  
  5238.  
  5239.  
  5240. #endif     /* __IPinInfo_INTERFACE_DEFINED__ */
  5241.  
  5242.  
  5243. #ifndef __IAMStats_INTERFACE_DEFINED__
  5244. #define __IAMStats_INTERFACE_DEFINED__
  5245.  
  5246. /* interface IAMStats */
  5247. /* [object][dual][oleautomation][helpstring][uuid] */ 
  5248.  
  5249.  
  5250. DEFINE_GUID(IID_IAMStats,0xbc9bcf80,0xdcd2,0x11d2,0xab,0xf6,0x00,0xa0,0xc9,0x05,0xf3,0x75);
  5251.  
  5252. #if defined(__cplusplus) && !defined(CINTERFACE)
  5253.     
  5254.     MIDL_INTERFACE("bc9bcf80-dcd2-11d2-abf6-00a0c905f375")
  5255.     IAMStats : public IDispatch
  5256.     {
  5257.     public:
  5258.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  5259.         
  5260.         virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
  5261.             /* [retval][out] */ LONG *plCount) = 0;
  5262.         
  5263.         virtual HRESULT STDMETHODCALLTYPE GetValueByIndex( 
  5264.             /* [in] */ long lIndex,
  5265.             /* [out] */ BSTR *szName,
  5266.             /* [out] */ long *lCount,
  5267.             /* [out] */ double *dLast,
  5268.             /* [out] */ double *dAverage,
  5269.             /* [out] */ double *dStdDev,
  5270.             /* [out] */ double *dMin,
  5271.             /* [out] */ double *dMax) = 0;
  5272.         
  5273.         virtual HRESULT STDMETHODCALLTYPE GetValueByName( 
  5274.             /* [in] */ BSTR szName,
  5275.             /* [out] */ long *lIndex,
  5276.             /* [out] */ long *lCount,
  5277.             /* [out] */ double *dLast,
  5278.             /* [out] */ double *dAverage,
  5279.             /* [out] */ double *dStdDev,
  5280.             /* [out] */ double *dMin,
  5281.             /* [out] */ double *dMax) = 0;
  5282.         
  5283.         virtual HRESULT STDMETHODCALLTYPE GetIndex( 
  5284.             /* [in] */ BSTR szName,
  5285.             /* [in] */ long lCreate,
  5286.             /* [out] */ long *plIndex) = 0;
  5287.         
  5288.         virtual HRESULT STDMETHODCALLTYPE AddValue( 
  5289.             /* [in] */ long lIndex,
  5290.             /* [in] */ double dValue) = 0;
  5291.         
  5292.     };
  5293.     
  5294. #else     /* C style interface */
  5295.  
  5296.     typedef struct IAMStatsVtbl
  5297.     {
  5298.         BEGIN_INTERFACE
  5299.         
  5300.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  5301.             IAMStats * This,
  5302.             /* [in] */ REFIID riid,
  5303.             /* [iid_is][out] */ void **ppvObject);
  5304.         
  5305.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  5306.             IAMStats * This);
  5307.         
  5308.         ULONG ( STDMETHODCALLTYPE *Release )( 
  5309.             IAMStats * This);
  5310.         
  5311.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  5312.             IAMStats * This,
  5313.             /* [out] */ UINT *pctinfo);
  5314.         
  5315.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  5316.             IAMStats * This,
  5317.             /* [in] */ UINT iTInfo,
  5318.             /* [in] */ LCID lcid,
  5319.             /* [out] */ ITypeInfo **ppTInfo);
  5320.         
  5321.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  5322.             IAMStats * This,
  5323.             /* [in] */ REFIID riid,
  5324.             /* [size_is][in] */ LPOLESTR *rgszNames,
  5325.             /* [in] */ UINT cNames,
  5326.             /* [in] */ LCID lcid,
  5327.             /* [size_is][out] */ DISPID *rgDispId);
  5328.         
  5329.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  5330.             IAMStats * This,
  5331.             /* [in] */ DISPID dispIdMember,
  5332.             /* [in] */ REFIID riid,
  5333.             /* [in] */ LCID lcid,
  5334.             /* [in] */ WORD wFlags,
  5335.             /* [out][in] */ DISPPARAMS *pDispParams,
  5336.             /* [out] */ VARIANT *pVarResult,
  5337.             /* [out] */ EXCEPINFO *pExcepInfo,
  5338.             /* [out] */ UINT *puArgErr);
  5339.         
  5340.         HRESULT ( STDMETHODCALLTYPE *Reset )( 
  5341.             IAMStats * This);
  5342.         
  5343.         /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
  5344.             IAMStats * This,
  5345.             /* [retval][out] */ LONG *plCount);
  5346.         
  5347.         HRESULT ( STDMETHODCALLTYPE *GetValueByIndex )( 
  5348.             IAMStats * This,
  5349.             /* [in] */ long lIndex,
  5350.             /* [out] */ BSTR *szName,
  5351.             /* [out] */ long *lCount,
  5352.             /* [out] */ double *dLast,
  5353.             /* [out] */ double *dAverage,
  5354.             /* [out] */ double *dStdDev,
  5355.             /* [out] */ double *dMin,
  5356.             /* [out] */ double *dMax);
  5357.         
  5358.         HRESULT ( STDMETHODCALLTYPE *GetValueByName )( 
  5359.             IAMStats * This,
  5360.             /* [in] */ BSTR szName,
  5361.             /* [out] */ long *lIndex,
  5362.             /* [out] */ long *lCount,
  5363.             /* [out] */ double *dLast,
  5364.             /* [out] */ double *dAverage,
  5365.             /* [out] */ double *dStdDev,
  5366.             /* [out] */ double *dMin,
  5367.             /* [out] */ double *dMax);
  5368.         
  5369.         HRESULT ( STDMETHODCALLTYPE *GetIndex )( 
  5370.             IAMStats * This,
  5371.             /* [in] */ BSTR szName,
  5372.             /* [in] */ long lCreate,
  5373.             /* [out] */ long *plIndex);
  5374.         
  5375.         HRESULT ( STDMETHODCALLTYPE *AddValue )( 
  5376.             IAMStats * This,
  5377.             /* [in] */ long lIndex,
  5378.             /* [in] */ double dValue);
  5379.         
  5380.         END_INTERFACE
  5381.     } IAMStatsVtbl;
  5382.  
  5383.     interface IAMStats
  5384.     {
  5385.         CONST_VTBL struct IAMStatsVtbl *lpVtbl;
  5386.     };
  5387.  
  5388.     
  5389.  
  5390. #ifdef COBJMACROS
  5391.  
  5392.  
  5393. #define IAMStats_QueryInterface(This,riid,ppvObject)    \
  5394.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5395.  
  5396. #define IAMStats_AddRef(This)    \
  5397.     (This)->lpVtbl -> AddRef(This)
  5398.  
  5399. #define IAMStats_Release(This)    \
  5400.     (This)->lpVtbl -> Release(This)
  5401.  
  5402.  
  5403. #define IAMStats_GetTypeInfoCount(This,pctinfo)    \
  5404.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  5405.  
  5406. #define IAMStats_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  5407.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  5408.  
  5409. #define IAMStats_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  5410.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  5411.  
  5412. #define IAMStats_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  5413.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  5414.  
  5415.  
  5416. #define IAMStats_Reset(This)    \
  5417.     (This)->lpVtbl -> Reset(This)
  5418.  
  5419. #define IAMStats_get_Count(This,plCount)    \
  5420.     (This)->lpVtbl -> get_Count(This,plCount)
  5421.  
  5422. #define IAMStats_GetValueByIndex(This,lIndex,szName,lCount,dLast,dAverage,dStdDev,dMin,dMax)    \
  5423.     (This)->lpVtbl -> GetValueByIndex(This,lIndex,szName,lCount,dLast,dAverage,dStdDev,dMin,dMax)
  5424.  
  5425. #define IAMStats_GetValueByName(This,szName,lIndex,lCount,dLast,dAverage,dStdDev,dMin,dMax)    \
  5426.     (This)->lpVtbl -> GetValueByName(This,szName,lIndex,lCount,dLast,dAverage,dStdDev,dMin,dMax)
  5427.  
  5428. #define IAMStats_GetIndex(This,szName,lCreate,plIndex)    \
  5429.     (This)->lpVtbl -> GetIndex(This,szName,lCreate,plIndex)
  5430.  
  5431. #define IAMStats_AddValue(This,lIndex,dValue)    \
  5432.     (This)->lpVtbl -> AddValue(This,lIndex,dValue)
  5433.  
  5434. #endif /* COBJMACROS */
  5435.  
  5436.  
  5437. #endif     /* C style interface */
  5438.  
  5439.  
  5440.  
  5441. HRESULT STDMETHODCALLTYPE IAMStats_Reset_Proxy( 
  5442.     IAMStats * This);
  5443.  
  5444.  
  5445. void __RPC_STUB IAMStats_Reset_Stub(
  5446.     IRpcStubBuffer *This,
  5447.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5448.     PRPC_MESSAGE _pRpcMessage,
  5449.     DWORD *_pdwStubPhase);
  5450.  
  5451.  
  5452. /* [propget] */ HRESULT STDMETHODCALLTYPE IAMStats_get_Count_Proxy( 
  5453.     IAMStats * This,
  5454.     /* [retval][out] */ LONG *plCount);
  5455.  
  5456.  
  5457. void __RPC_STUB IAMStats_get_Count_Stub(
  5458.     IRpcStubBuffer *This,
  5459.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5460.     PRPC_MESSAGE _pRpcMessage,
  5461.     DWORD *_pdwStubPhase);
  5462.  
  5463.  
  5464. HRESULT STDMETHODCALLTYPE IAMStats_GetValueByIndex_Proxy( 
  5465.     IAMStats * This,
  5466.     /* [in] */ long lIndex,
  5467.     /* [out] */ BSTR *szName,
  5468.     /* [out] */ long *lCount,
  5469.     /* [out] */ double *dLast,
  5470.     /* [out] */ double *dAverage,
  5471.     /* [out] */ double *dStdDev,
  5472.     /* [out] */ double *dMin,
  5473.     /* [out] */ double *dMax);
  5474.  
  5475.  
  5476. void __RPC_STUB IAMStats_GetValueByIndex_Stub(
  5477.     IRpcStubBuffer *This,
  5478.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5479.     PRPC_MESSAGE _pRpcMessage,
  5480.     DWORD *_pdwStubPhase);
  5481.  
  5482.  
  5483. HRESULT STDMETHODCALLTYPE IAMStats_GetValueByName_Proxy( 
  5484.     IAMStats * This,
  5485.     /* [in] */ BSTR szName,
  5486.     /* [out] */ long *lIndex,
  5487.     /* [out] */ long *lCount,
  5488.     /* [out] */ double *dLast,
  5489.     /* [out] */ double *dAverage,
  5490.     /* [out] */ double *dStdDev,
  5491.     /* [out] */ double *dMin,
  5492.     /* [out] */ double *dMax);
  5493.  
  5494.  
  5495. void __RPC_STUB IAMStats_GetValueByName_Stub(
  5496.     IRpcStubBuffer *This,
  5497.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5498.     PRPC_MESSAGE _pRpcMessage,
  5499.     DWORD *_pdwStubPhase);
  5500.  
  5501.  
  5502. HRESULT STDMETHODCALLTYPE IAMStats_GetIndex_Proxy( 
  5503.     IAMStats * This,
  5504.     /* [in] */ BSTR szName,
  5505.     /* [in] */ long lCreate,
  5506.     /* [out] */ long *plIndex);
  5507.  
  5508.  
  5509. void __RPC_STUB IAMStats_GetIndex_Stub(
  5510.     IRpcStubBuffer *This,
  5511.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5512.     PRPC_MESSAGE _pRpcMessage,
  5513.     DWORD *_pdwStubPhase);
  5514.  
  5515.  
  5516. HRESULT STDMETHODCALLTYPE IAMStats_AddValue_Proxy( 
  5517.     IAMStats * This,
  5518.     /* [in] */ long lIndex,
  5519.     /* [in] */ double dValue);
  5520.  
  5521.  
  5522. void __RPC_STUB IAMStats_AddValue_Stub(
  5523.     IRpcStubBuffer *This,
  5524.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5525.     PRPC_MESSAGE _pRpcMessage,
  5526.     DWORD *_pdwStubPhase);
  5527.  
  5528.  
  5529.  
  5530. #endif     /* __IAMStats_INTERFACE_DEFINED__ */
  5531.  
  5532. #endif /* __QuartzTypeLib_LIBRARY_DEFINED__ */
  5533.  
  5534. /* Additional Prototypes for ALL interfaces */
  5535.  
  5536. /* end of Additional Prototypes */
  5537.  
  5538. #ifdef __cplusplus
  5539. }
  5540. #endif
  5541.  
  5542. #endif
  5543.  
  5544.  
  5545.